DisallowConcurrentExecutionAttribute vs IS_NONCONCURRENT column in QRTZ_JOB_DETAILS

910 views
Skip to first unread message

Ken Foster

unread,
Nov 29, 2013, 3:38:31 PM11/29/13
to quar...@googlegroups.com
These things seem related, but testing shows that there is little to no relationship between them. I created a test where a trigger fired every 10 seconds and ran a job. The job slept for 15 seconds. I wanted to create a situation where a job would only be run once at any given time, if a trigger fired and the job was running, it would not run. It looked like setting IS_NONCONCURRENT to true (1) in the database had no effect on this. Decorating my Job class with the attribute [DisallowConcurrentExecutionAttribute] however did seem to do what I want.

What is the difference between them, and when is one used versus the other?  Is the IS_NONCONCURRENT flag obsolete? Or is it only used in a clustered environment?  Will the same differences exist between the IS_UPDATE_DATA flag and the [PersistJobDataAfterExecution] attribute?

Just trying to understand better what is going on.
Thanks,
Ken

Marko Lahma

unread,
Nov 30, 2013, 1:09:38 PM11/30/13
to Quartz. NET
The IS_NONCONCURRENT is used for cluster coordination purposes and
clearing up blocked states. The locking mechanism takes care that only
single server handles the triggering and concurrency control is done
on based on attribute. So this flag has it meaning in database for
cluster state management / cleanup.

IS_UPDATE_DATA is however more informational. The scheduling is not
dependent on the value on DB, run-time functionality is based on job
attribute.

-Marko
> --
> You received this message because you are subscribed to the Google Groups
> "Quartz.NET" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to quartznet+...@googlegroups.com.
> To post to this group, send email to quar...@googlegroups.com.
> Visit this group at http://groups.google.com/group/quartznet.
> For more options, visit https://groups.google.com/groups/opt_out.
Reply all
Reply to author
Forward
0 new messages