База знаний

Шаг 1 – попробуйте найти ответ:

База знаний: > Менеджеp уведомлeний
Как работают фильтры в системе уведомлений
Автор Pavel Ivchenkov, Изменено Alexey TSLab на 24 July 2016 18:10

Систему уведомлений, без учета фильтров, можно представить как систему с одним общим входом, куда поступают все сообщения программы, и затем каждое сообщение попадет на каждый обработчик.

Фильтры стоят на потоке сообщений между входом системы и обработчиком. У каждого обработчика свой набор фильтров. Фильтры расположены последовательно, т.е. на вход первого фильтра поступает полный поток сообщений, выход фильтра соединен с входом следущего, и так далее, сообщения с выхода последнего фильтра поступают на обработчик.

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

Рассмотрим работу на примерах:

1. Есть один фильтр "По номеру" с номером события 1.

В этом случае на обработчик будут попадать только сообщения с номером 1 (Подсоединение к поставщику данных)

2. Добавим еще один фильтр "По номеру" и укажем номер события 2.

В этом случае на обработчик не дойдет ни одного сообщения, т.к. на вход второго фильтра будут поступать только сообщения с номером 1, и они не будут проходит по условию второго фильтра. Чтобы на обработчик поступали события с номерами 1 и 2, нужно воспользоваться фильтром "По номерам" и указать список нужных событий.

3. Установлены фильтры "По номеру" с номером события 1 и фильтр "Поставщик" с параметром "Alor".

Теперь на обработчик будут поступать события о соединении только по поставщику данных с именем Alor. Формализовано условие можно записать как

номер события == 1 AND поставщик == "Alor" , т.е должно выполниться оба условия. Порядок фильтров не имеет значения.

4. Для обработчика email установлены фильтры

"Тип" равен "Ошибки"

"Поставщик" с параметром "Alor"

"Повторения" сравнивать 10 символов и забывать через 10 минут

"По времени" с 12:00 по 18:45

В этом случае мы будем получать письма об ошибках с поставщиком данных "Alor", например разрыв соединения. Если разрыв будет повторяться в течении 10 минут, то повторные письма приходить не будут, новое письмо придет только после возникновения нового обрыва спустя 10 минут с момента первого обрыва. Также если придет новое сообщение об ошибке по поставщику "Alor", которое по тексту по первым 10 символам будет отличаться от предыдущего, то оно пройдет дальше. Также письма будут посылаться только если ошибки будут происходит в промежутке времени между 10 и 18:45 по компьютерному времени.

 

(4 голос(а))
Эта статья полезна
Эта статья бесполезна