Управление сервисными службами

 

Служба Workflow

 

Выполнение блоков маршрута

Маршруты задач схематически представляются в виде блоков различного типа и стрелок, их соединяющих. Обработка маршрутов сводится к выполнению блоков в соответствии с логикой их соединения. Начинается выполнение маршрута с блока «Начало», заканчивается на блоке «Конец».

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

Блоки типа «Начало», «Уведомление», «Условие», «Объединение И/ИЛИ» и «Сценарий» не предполагают ни ожидания действий пользователей, ни фиксированных временных задержек и выполняются от начала и до конца без остановок. Как только блок одного из этих типов оказывается готов к выполнению, так вычисляются его свойства, выполняется событие «Старт», тут же реализуется логика работы и выполняется событие «Завершение».

 

Примечание. Для блоков типа «Сценарий» вычисление, хотя и является свойством, выполняется между событиями «Старт» и «Завершение», т.к. оно же определяет и логику работы блока.

Блоки типа «Задание», «Ожидание», «Мониторинг» и «Конец» в отличие от вышеперечисленных выполняются в несколько этапов. Когда блок оказывается готов к выполнению, выполняется только первый этап. Следующие этапы выполняются по прошествии некоторого фиксированного или зависящего от действий пользователей времени. Сколько именно времени должно пройти и что включает в себя каждый из этапов выполнения, зависит от типа блока.

 

Для блока типа «Задание»

·         на первом этапе вычисляются свойства блока, выполняется событие «Старт» и создается одно или все задания, в зависимости от значения свойства блока Параллельные задания. После этого выполнение блока приостанавливается до выполнения пользователями одного из созданных заданий;

·         на следующих этапах (при выполнении каждого из созданных заданий) проверяется, надо ли создавать новые или прекращать существующие задания, и были ли выполнены/прекращены все созданные. Если надо создавать новые задания – создаются. если надо прекращать существующие – прекращаются. Если оказывается, что выполнены или прекращены все задания, которые должны были быть созданы по блоку, то выполняется событие «Завершение».

 

Для блока типа «Ожидание»

·         на первом этапе вычисляются свойства блока и выполняется событие «Старт». После этого выполнение блока приостанавливается до наступления указанного в его свойствах момента;

·         на следующем этапе (при наступлении указанного в свойствах момента) выполняется событие «Завершение».

 

Для блока типа «Мониторинг»

·         на первом этапе вычисляются свойства блока, выполняется событие «Старт» и проверяется правило мониторинга. Если правило выполняется, то тут же выполняется событие «Завершение». Если не выполняется, то выполнение блока приостанавливается на некоторый указанный в свойствах срок;

·         на следующем этапе (по истечении указанного срока) снова проверяется правило мониторинга. Если оно выполняется, то выполняется событие «Завершение». Если нет, выполнение вновь приостанавливается на тот же срок, что и раньше;

·         так продолжается до тех пор, пока не выполнится правило или не наступит крайний срок мониторинга. После этого выполняется событие «Завершение».

 

Для блока типа «Конец»

·         на первом этапе вычисляются свойства блока. Если свойство задачи Контроль задачи имеет значение «Да», то выполнение блока приостанавливается до выполнения задания-контроль. В противном случае выполнение блока завершается;

·         на следующем этапе (после выполнения задания-контроль) выполнение блока завершается.

 

 

 

См. также:

·         Общие сведения о службе Workflow;

·         Лог-файл и журнал событий;

·         Схема обработки маршрута задач.