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

Page / - Изменено Alexandr Fokin в 2023/11/06 22:49 

Основные компоненты 
Изменено Alexandr Fokin
в 2023/11/06 22:49

Оглавление

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