Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ASA8+replication: Как отловить событие ...
|
|||
|---|---|---|---|
|
#18+
Во первых - Всех с наступающим Новым Годом! Хочу что-бы всем: Здоровья, удачи, щедрых заказчиков, внимательных юзеров и всего самого доброго !!! :) Ну а теперь по теме: Есть работающая система репликаций. Протокол POP3/SMTP. Иногда система (по независящим от неё причинам) не может выполнить отправку. Обычно это сопровождается сообщением в окне обработчика "Повторно отправленные запросы поставлены в очередь". Если у DBRemote установлен ключ "-k", тогда DBRemote молча закрывается. Если ключ "-k" не указан, то окно остается висеть, но юзер (как обычно) не читает. Как мне програмно определить: отправка прошла удачно или завершилась с ошибкой? "Научи юзера читать ... " не предлагать - бесполезно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 11:10 |
|
||
|
ASA8+replication: Как отловить событие ...
|
|||
|---|---|---|---|
|
#18+
Добрый день! Думаю надо посмотреть в сторону: Процедуры перехватчиков событий SQL Remote sp_hook_dbremote_send_begin, sp_hook_dbremote_send_end и т.д. Сам не пробовал, точно сказать не могу. Нужно помнить, что сам успешный факт пересылки сообщения еще не является фактом успешной доставки и применения его в удаленной базе. Сообщение "Повторно отправленные запросы поставлены в очередь" на самом деле не является критичным, т.к. это просто повторная передача сообщений. И даже, если Вы уведомите об этом сообщении пользователя, то он все равно не сможет что-то радикальное предпринять. Уведомлять нужно наверно о критичных ошибках в репликации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 11:51 |
|
||
|
ASA8+replication: Как отловить событие ...
|
|||
|---|---|---|---|
|
#18+
>>Сообщение "Повторно отправленные запросы поставлены в очередь" на самом деле не является критичным ... Как раз то и критично ... Это обозначает, что сообщение сформировано, но не отправлено и будет предпринята попытка отправки при следующем сеансе. При этом надо обратить внимание юзера, что попытка отправки завершилась с ошибкой и инфа не ушла. >>И даже, если Вы уведомите об этом сообщении пользователя, то он все равно не сможет что-то радикальное предпринять. Не правда. Предпринять всегда можно. Ну, например, что бы юзер сообщил техническому работнику или начал что то предпринимать сам (если сможет). Например, провайдер поменял код SMTP и не сообщил (примеры есть) - достаточно изменить этот код в настройках и всё ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 13:44 |
|
||
|
ASA8+replication: Как отловить событие ...
|
|||
|---|---|---|---|
|
#18+
Подождите, что-то я не понял. "Это обозначает, что сообщение сформировано, но не отправлено и будет предпринята попытка отправки при следующем сеансе". Ведь dbremote в следующем сеансе по новой будет формировать сообщения и пытаться отправить. Т.е. какой-то очереди из сформированных сообщений(но не отправленных) не существует между сеансами. Или при использовании SMTP не так? Я честно говоря SMTP не использовал, но думаю, что сам принцип отслеживания такой же как и по ftp. В вашем случае нужно видимо отловить именно факт успешной неуспешной отправки на уровне SMTP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 14:17 |
|
||
|
ASA8+replication: Как отловить событие ...
|
|||
|---|---|---|---|
|
#18+
Похоже, что программно(не визуально в журнале) ошибки dbremote на уровне SMTP тяжело отловить. Есть еще опция REPLICATION_ERROR, но она только для ошибок на уровне SQL. Единственно что приходит в голову, это в процедурах перехватчиков событий SQL Remote сравнивать значения log_sent SYSREMOTEUSER перед отправкой и после. Ведь если будет ошибка SMTP, то по идее log_sent не изменится. Хотя может как-то красивее можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 14:50 |
|
||
|
ASA8+replication: Как отловить событие ...
|
|||
|---|---|---|---|
|
#18+
Про "сформировано" это я образно сказал :) Ремоут отсылает (грубо говоря) участки лог-файла с указанного смещения. Если он не отослал в этот раз и не пришло подтверждение о получении, то в следующий сканирование лога начнется именно с этого смещения. А вот Ваша идея с сравнением значений полей системной таблицы хороша. Проверю обязательно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2006, 16:43 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=34225725&tid=2012332]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 321ms |

| 0 / 0 |
