1

Сменить логику создания уведомлений на предикатную

Тема: Сменить логику создания уведомлений на предикатную

Сейчас логика создания уведомлений жестко привязана к типу уведомления. А к нему, в свою очередь, ряд доп. параметров, для каждого типа уведомлений свой.
Поэтому для создания реакции на сложные события (пример: ТС пропало свыше 30 минут назад, двигаясь в геозоне ИМЯ со скоростью свыше 40 км/ч) приходится извращаться (другого слова не подберу) с автопереносом объекта в группы, валидацией датчиков и пр.

В случае реализации в рамках предлагаемого, данные конструкции становятся нативными и логически прозрачными.

Итак, предложение: все уведомления создаются по предикатному принципу (Если - То). Причем условия "Если" базируются на булевой алгебре и объединяются произвольными связками И-ИЛИ-НЕ, посредством скобок.

В качестве аргументов для "Если" выступают типы событий, параметры из сообщений, значения датчиков или счетчиков и т.п.
Для примера выше будет конструкция вида:
Если ТС пропало свыше 30 минут назад И ТС было в зоне ИМЯ И скорость ТС была >40 км/ч ТО __ реакция на событие_ (здесь типовые существующие варианты реагирования).

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

2

Сменить логику создания уведомлений на предикатную

Re: Сменить логику создания уведомлений на предикатную

Реализация этого предложения сделает настройку уведомлений более гибкой и, вероятно, более простой.

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

Задача непростая, но это не значит, что она не будет реализована. В ближайшее время нет, но в перспективе вполне может быть.

Tatsiana Kots
Business Analyst, Gurtam
Join our Telegram Update Channel | Следите за обновлениями на нашем Telegram канале
3

Сменить логику создания уведомлений на предикатную

Re: Сменить логику создания уведомлений на предикатную

Да, это полная переделка модуля, большей его части. Хорошо, что в планах рассмотреть реализацию.
Вы можете попробовать реализовать новую, не трогая старую. И дать время интеграторам самостоятельно перенести уведомления из новой в старую.
Либо придумать конвертер, он реализуем, поскольку типизированный вид условий является малым подмножеством предикатной системы правил.

Хорошо-бы поскорее реализовать, а не через год.

4

Сменить логику создания уведомлений на предикатную

Re: Сменить логику создания уведомлений на предикатную

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

Но это все здорово, но сначала надо вылечить "нескладушки" со статистикой топлива. Т.к. это граничит с крахом смысла площадки мониторинга как таковой.

5

Сменить логику создания уведомлений на предикатную

Re: Сменить логику создания уведомлений на предикатную

Красиво написал, прямо ТЗ. Вот все бы так формулировали.