Falcon Space. Бизнес-процессы

Как работают бизнес-процессы

Вы можете определить некий процесс в виде последовательности вызова триггеров.

Каждый триггер проверяем событие. Если триггер вернул result = true, то вызывается следующий триггер. Если result=false, то планируется перезапуск данного триггера через N минут. 

Действие, которое выполняет триггер может быть любым, например: 

  • создание задачи (job)
  • создание уведомления (notification)

В качестве проверки события в триггере обычно используется проверка выполнения задачи, связанной с данным триггером (но в целом это может быть любая проверка по состоянию базы). 

Важно! Триггер бизнес-процессов никакого отношения к sql server триггерам не имеет отношения. SQL триггеры не используются. 

Реализация бизнес-процесса

Чтобы автоматизировать некий процесс, необходимо выполнить следующие действия: 

  1. Создать процесс.
  2. Описать его триггеры. 
  3. Реализовать SQL процедуры для каждого триггера (проверка состояния и выполнение действия).
  4. Запустить триггер через хранимую процедуру as_jb_startProcess

Хранимые процедуры бизнес-процессов 

  • as_jb_startProcess - запуск нового процесса (создается экземпляр бизнес-процесса)
  • as_jb_createJob - создает новую задачу (используется в хранимках для триггеров).
  • as_nt_createNotification - создание уведомлений
  •  jb_example_check - пример хранимой процедуры, который берется за основу для хранимок триггеров. 

Системные хранимые процедуры: 

  • as_jb_checkCron (внутр) - запускается каждую минуту через sync_minute для проверки планируемых к запуску триггеров. 
  • as_jb_cron (внутр) - добавляет в крон триггер
  • as_jb_finishProcess (внутр) - хранимка для завершения процесса 
  • as_jb_nextTrigger (внутр) - используется для поиска и запуска очередного триггера в процессе.

Примечание: 

В таблице jb_triggerCron записываются планируемые запуски триггеров. Их инициация проверяется и запускается через мезанизм sync_minute. 

Для уведомлений по умолчанию используется код уведомления proс (не забудьте его добавить).