Управление потоками Quartz.NET 1.0 в Windows Service

1

Быстрый вопрос относительно Quartz.NET 1.0 и управления потоками. Если я запускаю Quartz.NET в качестве службы Windows и выполняю несколько заданий одновременно, выполняйте все эти задания (потоки Quartz.NET) внутри одного и того же AppDomain? То есть, они начинаются как отдельные AppDomains внутри Quartz.NET AppDomain или как отдельные потоки внутри него? И как долгий, медленный процесс в рамках одной работы влияет на другие задания? Должны ли быть какие-либо последствия? Попытка лучше понять, как одновременное выполнение нескольких заданий может повлиять на систему в целом. Благодарю.

Теги:
quartz.net

1 ответ

1
Лучший ответ

Все задания запускаются с использованием рабочих потоков, которые поступают из пула потоков Quartz. Вы можете настроить счетчик потока пула потоков, который коррелирует с количеством заданий, которые могут выполняться одновременно. Этот пул потоков находится внутри того же AppDomain, где запущен Quartz. Quartz не создает свои собственные AppDomains.

Как и любое задание, длительная работа использует поток из пула. Если бы у вас было много длительных рабочих заданий, у вас могли бы закончиться потоки, которые могли бы вызвать задержки - работа будет запущена поздно (на основе политики пропуска пропуска). Если у вас нет реализации IStatefulJob, задание может запускаться одновременно двумя триггерами, если интервал запуска короче, чем время выполнения задания.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню