Quartz. NET
Версия 1.12 от Alexandr Fokin на 2023/07/23 10:27
Open-source job scheduling system for .NET
https://www.quartz-scheduler.net
https://www.quartz-scheduler.net/documentation/quartz-3.x/
Trigger Триггер | Объект, описывающий в какие моменты времени должна выполняться задачи. Имеет разные реализации. Может определять политику поведения, в случае если задача была просрочена (причем набор может быть разный у разных типов триггеров). Если триггер конечный (одноразовый запуск или повторение конечное кол-во раз), то после полного выполнения он удаляется. |
Job Задача | Объект, содержащий информацию об обработчике. Может соединяться с одним или несколькими триггерами. Экземпляр задачи уникально идентифицируется через связку имя и группа. Если у задачи не осталось ни одного активного триггера и она не помечена как durability, то она удаляется. Есть возможность выполнить задачу сейчас, это создать одноразовый триггер, инициирующий запуск задачи. |
Хранилище | Поддерживает InMemory и Persist БД (SQL). |
Кластер | Поддерживает запуск в режиме кластера, с балансировкой задач и обработкой падений нод. Для этого режима обязательно использовать Persist хранилище, т.к. оно используется для координации и синхронизации. В документации сказано, что лучше использовать для балансировки крупных задач, плохо подходит под балансировку пакетов мелких задач (сильно уменьшит скорость обработки). |