Основные компоненты

Редактировал(а) Alexandr Fokin 2024/02/10 00:14

Trigger
Триггер
Объект, описывающий в какие моменты времени должна выполняться задачи.
Имеет разные реализации.
Может определять политику поведения (Misfire Instruction), в случае если задача была просрочена (Misfire).
Если триггер конечный (одноразовый запуск или повторение конечное кол-во раз), то после полного выполнения он удаляется.
CRON
 
Job
Задача
Объект, содержащий информацию об обработчике.
Может соединяться с одним или несколькими триггерами.
Экземпляр задачи уникально идентифицируется через связку имя и группа.
Если у задачи не осталось ни одного активного триггера и она не помечена как durability, то она удаляется.
Есть возможность выполнить задачу сейчас, это создать одноразовый триггер, инициирующий запуск задачи.
Store
Хранилище
Поддерживает InMemory и Persist БД (SQL).
Cluster
Кластер

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

https://www.quartz-scheduler.net/documentation/quartz-3.x/configuration/reference.html#clustering

  
Misfire Instruction
Осечка
Понятие, обозначающее пропущенное срабатывание триггера (обычно либо из-за перегрузки (отсутствия свободных потоков), либо планировщик был отключен).
Misfire threshold - параметр хранилища, служащий для обнаружения осечки (как дельта между временем следующего срабатывания триггера и текущим временем).
SimpleTrigger Misfire Instructions
https://www.quartz-scheduler.net/documentation/quartz-3.x/tutorial/simpletriggers.html#simpletrigger-misfire-instructions
 Quartz.NET Configuration Reference
https://www.quartz-scheduler.net/documentation/quartz-3.x/configuration/reference.html
Теги: