Quartz.NET vs Windows Scheduled Tasks. How different are they?

后端 未结 4 1352
遥遥无期
遥遥无期 2020-12-09 08:43

I\'m looking for some comparison between Quartz.NET and Windows Scheduled Tasks?

How different are they? What are the pros and cons of each one? How do I choose whic

4条回答
  •  囚心锁ツ
    2020-12-09 09:02

    Unfortunately, Quartz.NET job assemblies can't be updated without restarting the process/host/service. That's a pretty big one for some folks (including myself).

    It's entirely possible to build a framework for jobs running under Task Scheduler. MEF-based assemblies can be called by a single console app, with everything managed via a configuration UI. Here's a popular managed wrapper:

    • https://github.com/dahall/taskscheduler
    • https://www.nuget.org/packages/TaskScheduler

    I did enjoy my brief time of working with Quart.NET, but the restart requirement was too big a problem to overcome. Marko has done a great job with it over the years, and he's always been helpful and responsive. Perhaps someday the project will get multiple AppDomain support, which would address this. (That said, it promises to be a lot of work. Kudos to he and his contributors if they decide to take it on.)

    To paraphrase Marko, if you need:

    1. Clustering (distributed workers)
    2. Fine-grained control over triggering or misfire handling rules

    ...then Quartz.NET will be your requirement.

提交回复
热议问题