Изменения в платформе DIRECTUM 4.8. Мониторинг в ТМ. 

Андрей Девятьяров
Дата создания: 24 января 2012 в 09:18

Продолжу описание нововведений платформы в DIRECTUM 4.8.

На этот раз речь пойдет об обновленном блоке ТМ - "Мониторинг".
Данный блок может довольно сильно подвесить службу Workflow(WF) при неправильном использовании. В любом случае, в "старом" мониторинге не было возможности отказаться от периодической обработки задачи WF. Теперь это можно сделать. В "новый" блок добавлено свойство "Тип мониторинга", которое может принимать значения "Прочее" и "Список зависимостей". 

Тип мониторинга -> Прочее (задается по-умолчанию):

В данной настройке "старый" и "новый" блоки мониторинга работают одинаково: пока вычисления в Правиле мониторинга не вернут Result = true, они будут выполняться с периодичностью, заданной в свойстве "Интервал", либо пока не наступит крайний срок. Вычисления нагружают WF и чем меньше интервал, тем больше нагрузка. Во многих задачах по ТМ, которые реализуют некий бизнес-процесс, требуется использовать блок Мониторинга только для отслеживания состояния других, связанных с текущей, задач. Вот тут и пригодится еще один Тип мониторингаСписок зависимостей.
 

Тип мониторинга -> Список зависимостей:

Тут блок мониторинга нацелен на одно - состояние задач, от которых зависит дальнейшее движение по нашему ТМ. Настройка "Интервал" - отсутствует. Присутствует настройка "Список зависимостей":
  • Типа данных: коллекция задач(по-умолчанию)/задача.
  • Тип значения: константа(по-умолчанию)/параметр
  • Значение: значение выбирается вручную в специальном окне поиска задач/задачи, когда Тип значения - константа, иначе заполняется из параметра. 

Как работает: В автокорректируемой таблице SBWorkflowDependencies содержится список зависимых друг от друга задач по блоку Мониторинг. Новые записи в таблицу добавляются при обработке задачи, зависимой по блоку Мониторинг от незавершенных задач. Записи удаляются из таблицы при завершении/прекращении/удалении задачи с блоком Мониторинг и задач, от которых она зависит. Таким образом, пока зависимые задачи не будут выполнены или прекращены или удалены первоначальная задача службой WF обрабатываться не будет.

Таким образом, WF обрабатывает зависимые задачи, которые ему все равно пришлось бы обработать, и продолжает работу по нашему ТМ, не проводя дополнительных вычислений (иначе вообще не берется за обработку нашей задачи).

 

Комментарии (7)
Комментарии доступны только для зарегистрированных пользователей.
Теги
4.7 4.8 awards isbl is-builder sql server бизнес-решение введение в is-builder видео дайджест документ интеграция клик настройка отчет разработка сообщество справочник сценарий функция
показать все теги