Scheduling Status

The purpose of this page is to clarify the possible execution statuses for the two different types of jobs as well how these statuses should be handled in the context of rehydration as well as failure handling. Execution Statuses are stored in a separate collection which is keyed on JobId and Timestamp, with the JobId corresponding to a valid Job Specification in the Job Specification collection. Determining if a job is one time or recurrent can be done looking at the schedulingSpecification (in Job Specification)

One Time Scheduled Job

For a one time scheduled job, the following Execution Statuses apply for a one time scheduled job and the transition between the statuses is as follows:

one time scheduled

Rehydration - for one time scheduled job

Rehydration occurs in the event of a failure which causes Quartz to restart. Since there is no persistence in Quartz, it needs to be rehydrated with jobs which have been persisted in the Job Repository.

Candidate statuses for rehydration would be SCHEDULED

Recurrent Scheduled Job

The following Execution Statuses apply for a recurrent scheduled job, the following Execution Statuses apply for a recurrent between the statuses is as follows:

recurrent scheduled

Rehydration - for recurrent scheduled job

Rehydration occurs in the event of a failure which causes Quartz to restart. Since in-memory Quartz scheduler is used, it needs to be rehydrated with jobs which have been persisted in the Job Repository.

Candidate statuses for rehydration would be :

  • SCHEDULED

  • TRIGGERED

  • FAILED