Общее описание
Решение контролирует состояние службы Workflow и при сбое отправляется сообщение администратору по почте или пытается автоматически восстановить её работоспособность (автоматически перезагружает службу).
Решение состоит из трёх модулей:
- Модуль мониторинга
- Модуль уведомления
- Модуль исправления

Модуль мониторинга
Очередь Workflow хранится в БД в таблице SBWorkflowProcessing. Таблица SBWorkflowProcessing предназначена для хранения информации о задачах, принятых к обработке и об обрабатываемых в текущий момент службой IS-Builder Workflow Processing. Информация о задаче
в таблицу заносится при старте задачи, при выполнении задания по задаче и при завершении работы задачи, от которой зависит выполнение других задач. Удаляется при завершении очередного этапа обработки маршрута и при прекращении или удалении задачи.
Мы можем использовать данную таблицу, чтобы контролировать активность службы Workflow. Служба Workflow считается не активной, если дата и время следующей обработки маршрута задачи (NextDateProcessing) пустое (NULL) или меньше текущего времени.
Модуль мониторинга представляет собой SQL-Job, который создается при установке решения. Настройки расписания заполняются при запуске сценария.
Схема работы данного модуля приложена в конце материала.
Модуль уведомления
Модуль уведомления является стандартным компонентом SQL – это Database Mail. Компонент Database Mail — это решение уровня предприятия для отправки сообщений электронной почты от компонента SQL Server Database Engine. Используя компонент Database Mail, приложения
базы данных могут отправлять почтовые сообщения пользователям.
Компонента Database Mail устанавливается при установке решения. Настройки компоненты Database Mail заполняются при запуске сценария решения.
Модуль исправления
Модуль исправления представляет собой SQL-Job, который перезагружает службу Workflow при необходимости. Данный SQL-job запускается модулем мониторинга.
Данный модуль можно отключить или включить в настройках сценария решения.
Установка решения
Требование к установке
- Microsoft SQL Server 2005 или выше;
- редакция Microsoft SQL Server как минимум Standard
- если служба workflow установлена на отдельном сервере, необходимо запустить службу «SQL Agent» под учетной записью, которая является администратором на сервере WorkFlow;
- Запустить сценарий под SA.
Импортирование разработки в систему DIRECTUM
При импортировании разработки, появляется следующие компоненты:
- Константы
- WorkFlow_Monitoring_AutoRestart
- WorkFlow_Monitoring_EmailAddress
- WorkFlow_Monitoring_ErrorThreshold
- WorkFlow_Monitoring_Login
- WorkFlow_Monitoring_Password
- WorkFlow_Monitoring_Period
- WorkFlow_Monitoring_Recipients
- WorkFlow_Monitoring_RestartAttempts
- WorkFlow_Monitoring_SMTPServerName
- WorkFlow_Monitoring_SMTPServerPort
- WorkFlow_Monitoring_SMTPServerSSLEnable
- WorkFlow_Monitoring_WarningThreshold
- WorkTimeResponsibleUser
- Сценарии
- Установки мониторинга службы Workflow
Запуск сценария
В данном окне заполняются данные подключения к почтовому серверу.

В данном окне заполняются настройки системы мониторинга.

После выполнения сценария появляются 2 SQL-Job:
- WorkFlow.Мониторинг
- WorkFlow.Мониторинг.Перезагрузка служба WorkFlow

Решение находится во вложении.
Огромное спасибо
Владимиру за сценарий и тестирование.
Workflow_Monitoring.zip (66,73 Кб)