Showing items from Quartz.net

Quartz.Net Scheduler Listeners, Part 2 of Quartz.Net Listeners in Detail

This is the second post in the Quartz.Net Listener Tutorial series. It’s also the second part of the introduction to listeners overview series. You can find Part 1 here. Today we’ll be looking at scheduler listeners and how to implement one.

As we mentioned in Part 1, scheduler listeners get notified of high level scheduler events. To implement a scheduler listener, you need to implement the ISchedulerListener interface. Here’s what that interface looks like:

Continue Reading

Checking Your Cron Expression’s Schedule

If you’re using the CronTrigger to fire your Quartz.Net job, then you’ll have to come up with a CronExpression that generates the schedule you want. Sometimes you may not be sure if it’s the correct schedule or maybe Quartz.Net doesn’t fire when you want it to. There are multiple reasons why a trigger doesn’t fire when it should but perhaps the first thing to look at is whether you’ve got the correct CronExpression.

Continue Reading

Understanding the DisallowConcurrentExecution Job Attribute

In this post I’ll go over what the DisallowConcurrentExecution job attribute does and how to use it.

Documentation

The Quartz.net documentation states that the DisallowConcurrentExecutionAttribute is

An attribute that marks a IJob class as one that must not have multiple instances executed concurrently (where instance is based-upon a IJobDetail definition - or in other words based upon a JobKey.
This can be used in lieu of implementing the StatefulJob marker interface that was used prior to Quartz 2.0.

Continue Reading