Правила обработки событий
Таблица правил обработки событий определяет:
какие события будут отклонены без обработки, маршрутизации или хранения;
как система обнаруживает дубликаты событий и агрегирует их, уменьшая общее количество событий;
как долго хранимые события будут оставаться в истории событий.
Формат таблицы правил обработки событий:
Маска контекстов | Каждая запись в таблице определяет правила обработки события в каждом контексте, соответствующем данной маске. Например, если мы устанавливаем время хранения 1 месяц для события "login" (в столбце событие) и устанавливаем маску контекстов в значение " Если маска не задана, (т.е. NULL), правило применимо к событиям во всех контекстах. | |
Событие | Имя события, чьи правила обработки определяются этой записью. | |
Префильтр | Выражение, используемое для отклонения событий, которые не соответствуют определенным критериям. Отклоненные события не сохраняются в базе данных, не передаются слушателям и не обрабатываются никакими модулями системы. При заданном выражении префильтра, события будут отклонены, если выражение возвращает FALSE. | |
Среда выполнения выражения префильтра: | ||
---|---|---|
Контекст события. | ||
Таблица данных, содержащая данные для разных типов событий. | ||
0 | ||
Только стандартные переменные. | ||
Выражение идентификатора дедупликации | Выражение, используемое для расчета идентификаторов дедупликации событий. Выражение преобразуется в строку. Если очередь событий в оперативной памяти (чей размер определяется параметром количество событий для хранения в оперативной памяти) содержит событие с тем же идентификатором дедупликации, текущее событие обрабатывается так же, как его дубликат:
| |
Среда выполнения выражения префильтра: | ||
Контекст события. | ||
Таблица данных, содержащая данные для разных типов событий. | ||
0 | ||
Только стандартные переменные. | ||
Количество событий для хранения в оперативной памяти | Количество событий для хранения в памяти и использования в целях поиска дубликатов согласно выражению идентификатора дедупликации. | |
Диспетчеризация дубликатов | Определяет, будет ли событие с обнаруженными в оперативной памяти дубликатами в дальнейшем маршрутизировано и доставлено подписчикам (слушателям). | |
Время хранения | Продолжительность постоянного хранения. Продолжительность по умолчанию - 100 дней, после чего события навсегда удаляются из истории. Можно специально настроить продолжительность хранения ("время существования") для различных событий. Заметим, что на практике события могут сохраняться в истории немного дольше определенного этими настройками срока, потому что процесс очистки (удаления событий с истекшим сроком хранения) запускается с интервалом в несколько минут. Заданное время хранения, равное нулю, блокирует хранение событий, определенных правилом. | |
Обогащения | Таблица, определяющая, какие обогащения добавляются к событиям, определенным правилом. Таблица содержит два столбца:
Как только появляется вновь созданное событие, соответствующее указанному правилу, каждое выражение значения преобразуется в строку. К экземпляру события добавляется новое обогащение с именем из данной таблицы и значение, равное результату выражения. Обогащение событий происходит до того, как событие будет сохранено в базе данных истории событий. | |
Среда выполнения выражения обогащения: | ||
Контекст события. | ||
Таблица данных, содержащая данные для разных типов событий. | ||
0 | ||
Только стандартные переменные. |
При возникновении события SberMobile Server обрабатывает таблицу правил обработки события от первой до последней записи. Если контекст, в котором произошло событие, соответствует маске, определенной записью, сервер применяет определяемые этой записью параметры для хранения события и прекращает поиск по списку, т.е. применяется первое соответствие, даже если маски в строках ниже также соответствуют контексту. Таким образом, правила с более узкими масками контекста должны предшествовать правилам c более широкими масками.
Если контекст не соответствует ни одной из масок, определенных в таблице, для хранения и обработки события будут применены параметры по умолчанию, определенные в дескрипторе события.
Пример: допустим, имеется следующая таблица правил обработки событий: |
Пример: допустим, имеется следующее правило обработки событий: |