Managing Recurrences

A Job or Workflow that runs repetitively because of a Recurrence or an Advanced Schedule has a subset of properties that apply to all not-yet-running Jobs in the Recurrence.

The following properties are copied from the first Job that defines the Recurrence:

  • BaseSubmitTime (by default, the time the first process was submitted)
  • HoldOnSubmit
  • Parameters
  • Priority
  • Queue
  • Advanced Schedule
  • Time Window
  • Time Zone

The BaseSubmitTime is the original scheduled time of the first Job. By default, this is the time at which the Run Wizard was opened. The actual Scheduled Start time of the Job may differ, depending on when you actually submitted it and the time you specified in the Run Wizard.

If you try to edit a single Job in a Recurrence, RunMyJobs asks you if you want to delay the Job, edit that specific Recurrence of the Job, or edit the corresponding Recurrence. If you choose to edit that specific Recurrence of the Job, that Job exits the Recurrence. This allows you to delay or edit one Job in the Recurrence without affecting the others. This can be useful when you have an unexpected downtime issue with a Job Server, for example.

If you restart a Recurrence, the restarted Jobs keep the base time of the Job that originally defined the Recurrence.

JobGroups and JobStatusForGroup

Jobs that have been submitted as part of a Recurrence ({JobGroup}) have an additional status, the Process Status For Recurrence (JobStatusForJobGroup) status. This is used to indicate if the Job is part of the Recurrence (status Default) or has left the Recurrence (Delayed, Edited, or Restarted).

The following Process Status for Recurrence statuses are used:

  • Default (D): The Job is part of the Recurrence.
  • Delayed (L): The Job has been delayed independently of other Jobs in the Recurrence.
  • Edited (E): The Job has been edited independently of other Jobs in the Recurrence.
  • EditedPersist (P): The Job has been edited, and this has not yet been processed completely. The Job will have the status for Recurrence of Edited soon.
  • Restarted (R): The Job is the consequence of a restart of a Job that is part of the Recurrence.

Recurrence Status

Every Recurrence has a Recurrence status. The Recurrence status is used to indicate whether a Recurrence is still active, whether its Jobs have been rescheduled, and (if it has ended) why it ended.

The following Recurrence statuses are available.

  • FinishedJobCount (C): The Recurrence reached the maximum number of Jobs.
  • FinishedEndDate (D): The Recurrence reached the end date.
  • FinishedManually (M): The Recurrence is finished on a user request.
  • FinishedSubmitFrame (S): The Recurrence reached the end of the Advanced Schedule.
  • Finished (F): The Recurrence and all its Jobs are finished.

Troubleshooting JobGroups

You can use the below SQL statement to list all the latest Jobs of active or held JobGroups that are not active.

For reference, the SQL statement excludes the following statuses:

  • 4 ( OnChange )
  • 6 ( PreRunning )
  • 8 ( PostRunnning )
  • a ( Assigned )
  • H ( Held )
  • N ( Never )
  • q ( Dispatched )
  • Q ( Queued )
  • R ( Running )
  • S ( Scheduled )
  • V ( EventWait )
  • W ( Waiting )
Copy
select Job.* from Job where UniqueId in (select jg.LatestJob from JobGroup jg where jg.Status in ('H','A')) and Job.Status not in ( '4', '6', '8', 'a', 'H', 'N', 'q', 'Q', 'R', 'S', 'V', 'W') and Job.JobGroup is not null;