Плюсы и минусы запуска Quartz.NET встраиваемой версии или в качестве службы Windows

Я хочу добавить кварцевое планирование в приложение ASP.NET.

Он будет использоваться для отправки электронных писем в очереди.

Каковы плюсы и минусы использования quartz.net в качестве службы Windows по сравнению со встроенным.

Меня больше всего беспокоит то, как Quartz.NET во встроенном режиме обрабатывает переменное количество рабочих процессов в IIS.


person Anthony    schedule 20.05.2010    source источник


Ответы (2)


Вот несколько вещей, которые вы можете учесть при принятии решения о том, следует ли запускать встраиваемую систему или нет:

  1. Если вы собираетесь создавать задания ТОЛЬКО из приложения для размещения, запустите встроенный. В противном случае запускайте как службу.

  2. Если вашим заданиям могут потребоваться разрешения, отличные от разрешений, которые есть у веб-приложения, запустите как службу.

  3. Если ваши задания - это длительные задания или задания, которые используют много памяти, запускайте как службу.

  4. Если вам нужно выполнять задания в кластерной среде для повышения производительности, масштабируемости или отказоустойчивости, запускайте как службу.

Из приведенных выше пунктов вы можете сделать вывод, что я предпочитаю запускать его как службу. Это связано с тем, что если вы собираетесь пройти через проблему настройки планировщика заданий, это означает, что у вас есть задания, которые необходимо запускать по расписанию, или длительные задания. Услуга обычно является лучшим выбором для этого вида работы.

person jvilalta    schedule 21.05.2010

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

Основная проблема связана с обработкой пула приложений до IIS 7.5. Без постоянных проверок ваш рабочий приложения может быть переработан, и ваш планировщик будет отключен, пока кто-то не отправит веб-запрос для повторного запуска пула приложений. В IIS 7.5 есть новая функция, позволяющая постоянно поддерживать работу пулов приложений.

В остальном большой разницы между двумя моделями быть не должно.

person Marko Lahma    schedule 21.05.2010