Scheduled job states
The SCHACTIVE table contains the list of jobs that are scheduled to run, and the execution time for each scheduled job. The execution history for each scheduled job is kept in the SCHSTATUS table.
The state of a scheduled job corresponds to the SCSSTATE column in the SCHSTATUS table or in the SCHACTIVE table. To determine the most recent execution state of a scheduled job, complete the following steps:
- Find the record for the scheduled job whose state you want to determine, that has the greatest timestamp value in the SCSEND column of the SCHSTATUS table.
- Look at the value in the SCSSTATE column for the record in the SCHSTATUS table that you found in the previous step.
The following table lists all of the possible states that a scheduled job can have.
State | Description |
---|---|
I | This state indicates that the scheduled job has to run at the preferred start time, which is recorded in the SCSPREFSTART column of the SCHSTATUS table or of the SCHACTIVE table. |
IF | This state indicates that the scheduled job is being rescheduled to run because of a previous failed attempt to execute the job. |
R | This state indicates that the scheduled job is currently running. The job execution start time is recorded in the SCSACTLSTART column of the SCHSTATUS table or of the SCHACTIVE table. The SCSQUEUE column in either of these two tables indicates which JVM process is running the job. |
RF | This state indicates that the scheduled job is running because of a previous failed attempt to execute the job. |
C | This state indicates that the scheduled job has finished running. The job execution finish time is recorded in the SCSEND column of the SCHSTATUS table or of the SCHACTIVE table. This particular execution of the job was successful. |
CF | This state is the same as state C except there was an exception while executing the scheduled job. This means that the job failed to execute successfully. |
W | This state indicates that there is a check task command assigned to the scheduled job. This means that before the job is executed, there is a side process that will execute to determine whether the job really needs to be run. This saves the overhead of running a scheduled job when it does not need to be run. (This parameter is mostly used for store level scheduled jobs.) |