Quartz. NET - Основные компоненты

Page / - Изменено Alexandr Fokin в 2023/07/31 11:28

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

Изменено Alexandr Fokin

в 2023/07/31 11:28

Оглавление

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 CronTrigger Misfire Instructions https://www.quartz-scheduler.net/documentation/quartz-3.x/tutorial/crontriggers.html#crontrigger-misfire-instructions
Quartz.NET Configuration Reference https://www.quartz-scheduler.net/documentation/quartz-3.x/configuration/reference.html