Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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 which one to use?

TIA,

like image 501
Serge Wautier Avatar asked Feb 25 '11 08:02

Serge Wautier


People also ask

What is the difference between Windows service and Task Scheduler?

A Windows service in meant to run an application 24/7 and it has many recovery options. Task Scheduler is meant to run an application periodically and not 24/7; therefore there isn't any recovery option.

Is there something better than Task Scheduler?

The best alternative is AMP WinOFF, which is free. Other great apps like Task Scheduler are Free Alarm Clock, System Scheduler, Shutter and Digital Clock 4. Task Scheduler alternatives are mainly Application Launchers but may also be Task Automation Apps or Todo List Managers.

How does the Windows Task Scheduler work?

The Task Scheduler enables you to automatically perform routine tasks on a chosen computer. Task Scheduler does this by monitoring whatever criteria you choose (referred to as triggers) and then executing the tasks when those criteria are met.


2 Answers

With Quartz.NET I could contrast some of the earlier points:

  1. Code to write - You can express your intent in .NET language, write unit tests and debug the logic
  2. Integration with event log, you have Common.Logging that allows to write even to db..
  3. Robust and reliable too
  4. Even richer API

It's mostly a question about what you need. Windows Scheduled tasks might give you all you need. But if you need clustering (distributed workers), fine-grained control over triggering or misfire handling rules, you might like to check what Quartz.NET has to offer on these areas.

Take the simplest that fills your requirements, but abstract enough to allow change.

like image 185
Marko Lahma Avatar answered Oct 11 '22 13:10

Marko Lahma


My gut reaction would be to try and get the integral WinScheduler to work with your needs first before installing yet another scheduler - reasoning:

  1. no installation required - installed and enabled by default
  2. no code to write - jobs expressed as metadata
  3. integration with event log etc.
  4. robust and reliable - good enough for MSFT, Google etc.
  5. reasonably rich API - create jobs, check status etc.
  6. integrated with remote management tools
  7. security integration - run jobs in different credentials
  8. monitoring tooling

Then reach for Quartz if it doesn't meet your needs. Quartz certainly has many of these features too, but resist adding yet another service to own and manage if you can.

like image 42
stephbu Avatar answered Oct 11 '22 12:10

stephbu