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

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

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

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

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

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


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

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

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

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

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


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

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

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

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


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

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

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

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

Однако:

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

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

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

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


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

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

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

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

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

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

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

...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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