powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / MailSlot в UDR
25 сообщений из 25, страница 1 из 1
MailSlot в UDR
    #39948360
SHS_SHS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.
Есть приложение, которое находится на сервере вместе с FB, но не подключено к базе. Хочу в UDR написать отправку событий через MailSlot в это приложение и через триггер вызывать отправку. Стоит так делать или могут быть проблемы?
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948383
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHS_SHSСтоит так делать или могут быть проблемы?

Могут. Но разве тебя это остановит?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948390
SHS_SHS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Рассматривал POST_EVENT, но он тянет за собой подключение к базе и регистрацию событий. Может есть еще какой-то проверенный способ?
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948391
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHS_SHS,

imho лучше написать приложение, которое будет читать данные из БД и передавать события в mailslot.
Если это делать через udf/udr, то фактически сервер превратится в клиента mailslot, с непредсказуемыми последствиями.
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948393
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHS_SHS,

лучше пиши службу которая подписана на события Firebird. События хотя бы уходят по комиту.

В UDR письма будут отправляться в том числе и для неподтверждённых изменений, а в 4.0 с рестартами (в Read Сommitted Read Consitency) вообще может быть весело.
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948395
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHS_SHSРассматривал POST_EVENT, но он тянет за собой подключение к базе и регистрацию событий.
Может есть еще какой-то проверенный способ?

POST_EVENT это и есть проверенный способ. И да, он тянет за собой подключение. А майлслоты
тянут за собой подключение к мейлслотам. Разница?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948397
SHS_SHS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял, спасибо.
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948490
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, а POST_EVENT сильно нагружает сервер? Например если я в небольшой базе на 4 таблицы напихаю их в каждый триггер AFTER ALL, чтобы потом на клиентах оперативно отображать изменения - это плохо будет?
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948496
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp
Кстати, а POST_EVENT сильно нагружает сервер? Например если я в небольшой базе на 4 таблицы напихаю их в каждый триггер AFTER ALL, чтобы потом на клиентах оперативно отображать изменения - это плохо будет?


Мне кажется, что в данном случает вовсе не POST_EVENT нагрузит сервер... :)
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948500
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
alekcvp
Кстати, а POST_EVENT сильно нагружает сервер? Например если я в небольшой базе на 4 таблицы напихаю их в каждый триггер AFTER ALL, чтобы потом на клиентах оперативно отображать изменения - это плохо будет?

Мне кажется, что в данном случает вовсе не POST_EVENT нагрузит сервер... :)

А что? Триггеры из одной строчки?..
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948502
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp
ъъъъъ
пропущено...

Мне кажется, что в данном случает вовсе не POST_EVENT нагрузит сервер... :)

А что? Триггеры из одной строчки?..


alekcvp
чтобы ... на клиентах оперативно отображать изменения

Прежде всего - сколько у тебя "одновременных" клиентов?

И, во-вторых, интересно: что же именно ты собираешься показывать после изменений разного типа. Например, при отображении отсортированного списка, были удалены все записи, которые были видны на экране - что ты станешь показывать?
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948504
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ъъъъъ
alekcvp
пропущено...

А что? Триггеры из одной строчки?..


alekcvp
чтобы ... на клиентах оперативно отображать изменения

Прежде всего - сколько у тебя "одновременных" клиентов?

И, во-вторых, интересно: что же именно ты собираешься показывать после изменений разного типа. Например, при отображении отсортированного списка кем-то были удалены все записи, которые были видны на экране, пришел эвент - что ты станешь показывать?
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948509
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SHS_SHS
Доброго времени суток.
Есть приложение, которое находится на сервере вместе с FB, но не подключено к базе. Хочу в UDR написать отправку событий через MailSlot в это приложение и через триггер вызывать отправку. Стоит так делать или могут быть проблемы?

Вообще, технически проблем нет.

Однако:

а) ты будешь отправлять сообщение в мэилслот всякий раз, когда делается попытка изменения данных. При каскадном изменении ты получишь каскад сообщений. Даже если в конце попытки случился роллбэк (то есть, фактически, данные не изменились).

б) а при использовании POST_EVENT, эвент придет клиенту лишь после подтверждения транзакции, и - всего лишь один (с информацией о количестве сгенерированных эвентов).
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948510
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ,

Только мне кажется что а) и б) несколько противоречат друг другу?
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948512
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Старый плюшевый мишка
ъъъъъ,

Только мне кажется что а) и б) несколько противоречат друг другу?


Описаны на последовательность "сначала а, потом б", а взаимоисключающие варианты - "либо а, либо б".

Вариант а) - использование собственной системы оповещений (с помощью Mailslots Windows, в данном случае).
Вариант б) - использование системы событий Interbase (POST_EVENT...).
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948513
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ

Прежде всего - сколько у тебя "одновременных" клиентов?

Максимум - человек 10.
ъъъъъ

И, во-вторых, интересно: что же именно ты собираешься показывать после изменений разного типа. Например, при отображении отсортированного списка, были удалены все записи, которые были видны на экране - что ты станешь показывать?

Эм... соседние записи? А какой смысл клиентам смотреть на записи в списке, которые по-факту уже не существуют?
Мысль была просто на клиенте вызывать DataSet.Refresh() после получения события об изменении данных в таблице.
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948515
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp
Эм... соседние записи? А какой смысл клиентам смотреть на записи в списке, которые по-факту уже не существуют?
...

Никакого, наверное. Ну я и не предлагал это делать, я спросил нечто иное:
ъъъъъ
что же именно ты собираешься показывать

...

alekcvp
Максимум - человек 10.

Нормально тогда, наверное. У нас две-три сотни "параллельных" клиентов по такой схеме работает. Конечно, не "DataSet.Refresh()" - клиенты бы сразу удивились...
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948516
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpМысль была просто на клиенте вызывать DataSet.Refresh() после получения события об
изменении данных в таблице.

Это была очень плохая мысль. По многим причинам.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948517
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
alekcvpМысль была просто на клиенте вызывать DataSet.Refresh() после получения события об
изменении данных в таблице.

Это была очень плохая мысль. По многим причинам.
Да это просто п....ц, а не "плохая".
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948519
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Dimitry Sibiryakov
пропущено...

Это была очень плохая мысль. По многим причинам.

Да это просто п....ц, а не "плохая".

А как тогда им обновить данные?
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948522
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp
ъъъъъ
пропущено...

Да это просто п....ц, а не "плохая".

А как тогда им обновить данные?

Вообще-то, именно об этом я тебя и спросил...
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948524
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpА как тогда им обновить данные?

Дать им кнопку "обновить данные". Захотят - нажмут.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948525
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

alekcvpА как тогда им обновить данные?

Дать им кнопку "обновить данные". Захотят - нажмут.

Ну хотелось бы чтобы они обновлялись сами "в живую".
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948526
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp
Dimitry Sibiryakov

пропущено...

Дать им кнопку "обновить данные". Захотят - нажмут.

Ну хотелось бы чтобы они обновлялись сами "в живую".

Ну так реши, как это должно выглядеть, и сделай. Может, тебе действительно .Refresh() будет достаточно.
...
Рейтинг: 0 / 0
MailSlot в UDR
    #39948553
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
Ну хотелось бы чтобы они обновлялись сами "в живую".
Это сильно специфическое поведение, будет много юзеров которые будут как минимум ему не рады.

Куда проще в отдельном треде по таймеру сгонять в базу, без всяких там эвентов, проглядеть некие маркеры и помигать чем нибудь, хоть даже и заголовком окна и написать где-нидь в области уведомлений "милок, для тебя есть новые данные!". По нажатию на эти самые "новые данные" их и увидеть.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / MailSlot в UDR
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]