<< Click to Display Table of Contents >> Архитектура системы > Основные сервисы Сервис отложенных операций |
Сервис отложенных операций (DelayedOperationsService) управляет отложенными операциями при возникновении ошибок на сервисах Directum RX, которые взаимодействуют через очереди сообщений RabbitMQ. Например, через RabbitMQ передают сообщения сервисы обработки задач и заданий (Workflow), сервис предпросмотра (PreviewService), сервис хранения файлов предпросмотра (PreviewStorage), сервис планировщика (JobScheduler), сервис асинхронных событий (Worker) и др. Сервис DelayedOperationsService принимает сообщения от других сервисов и откладывает их в хранилище до определенного времени или до востребования. В нужный момент отправляет отложенные сообщения в исходные очереди. Если отложенное сообщение уже не актуально, сервис удаляет его.
Например, при выполнении задания автоматически выдаются права на документ. Если документ оказался открыт для редактирования, то при выполнении задания возникает ошибка. Работы по задаче приостанавливаются, и сообщение об отложенной операции отправляется сервису DelayedOperationsService. Когда сотрудник закрывает документ, сервис возвращает сообщение в исходную очередь. Работы по задаче продолжаются.
Схема работы сервиса отложенных операций:
1.При возникновении ошибки сервис Directum RX отправляет сообщение сервису отложенных операций через очередь RabbitMQ.
2.Сервис DelayedOperationsService сохраняет сообщение в хранилище отложенных операций.
3.По наступлению времени или по запросу сервис DelayedOperatiоnsService получает сообщение с отложенной операцией из хранилища и возвращает в исходную очередь. Если операция уже неактуальна, то сервис удаляет сообщение.
Установка и настройка сервиса
По умолчанию сервис устанавливается на компьютер вместе с веб-сервером.
Настройки сервиса задает администратор. Например, в настройках можно задать новый путь до лог-файла сервиса.
© Компания Directum, 2024 |