Quartz.NET против запланированных задач Windows. Насколько они отличаются?

Я ищу какое-то сравнение между Quartz.NET и запланированными задачами Windows?

Насколько они отличаются? Каковы плюсы и минусы каждого из них? Как выбрать, какой из них использовать?

ТИА,

Ответ 1

С Quartz.NET я мог бы противопоставить некоторые из предыдущих пунктов:

  • Код для записи - вы можете выразить свое намерение на языке .NET, написать модульные тесты и отладить логику
  • Интеграция с журналом событий, у вас есть Common.Logging, который позволяет писать даже в db..
  • Надежный и надежный.
  • Еще более богатый API

В основном это вопрос о том, что вам нужно. Запланированные задачи Windows могут дать вам все, что вам нужно. Но если вам нужна кластеризация (распределенные рабочие), мелкозернистый контроль за правилами запуска или пропуска пропусков, вам может потребоваться проверить, что Quartz.NET может предложить в этих областях.

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

Ответ 2

Моя реакция кишки будет заключаться в том, чтобы попытаться заставить интегральный WinScheduler работать с вашими потребностями в первую очередь перед установкой еще одного планировщика - рассуждения:

  • установка не требуется - по умолчанию установлено и включено
  • нет кода для записи - задания, выраженные в метаданных
  • интеграция с журналом событий и т.д.
  • надежный и надежный - достаточно для MSFT, Google и т.д.
  • достаточно богатый API - создание заданий, проверка статуса и т.д.
  • интегрированы с инструментами удаленного управления.
  • интеграция безопасности - запуск заданий в разных учетных данных
  • средства мониторинга

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

Ответ 3

Одно важное отличие для меня, которое не включено в другие ответы, - это то, что выполняется планировщиком.

Планировщик задач Windows может запускать только исполняемые программы и скрипты. Код, написанный для использования в Quartz, может напрямую взаимодействовать с вашими компонентами .NET проекта.

С планировщиком заданий вам нужно будет написать исполняемый файл оболочки или script. Внутри этой оболочки вы можете взаимодействовать с вашими компонентами проекта. При написании этого кода оболочки это не сложный процесс, вам нужно рассмотреть возможность развертывания дополнительных файлов.

Если вы ожидаете добавить больше запланированных задач в течение всего жизненного цикла проекта, вам может понадобиться создать дополнительные исполняемые оболочки или файлы script, что требует обновлений процесса развертывания. С помощью Quartz вам не нужны эти файлы, что уменьшает общие усилия, необходимые для создания и развертывания дополнительных задач.