High availability scheduler event tracking
Aspects include monitoring, by a controller, an operational status of a tracker system that is configured to track and record a current status of a job being executed and to report completion of the job to the controller. The recording includes storing two copies of the current status, where a first copy is stored in a shared memory location accessible by the controller. In response to determining, based on the monitoring, that the tracker system is operational, waiting to receive a job completion message for the job from the tracker system and performing a job completion action based on receiving the job completion message. In response to determining that the tracker system is not operational, obtaining the current status of the job from the shared memory location and performing the job completion action based on the current status indicating that the job has completed.
1 . A method comprising:
monitoring, by a controller, an operational status of a job tracking module that is configured to track and record a current status of a job being executed and to report completion of the job to the controller, the recording comprising storing two copies of the current status, a first copy stored in a coupling facility (CF) list structure that is globally addressable by a plurality of logical partitions (LPARs) of a sysplex and accessible by the controller, and a second copy stored in an extendable common service area (ECSA) queue resident in a same LPAR of the plurality of LPARs as the job tracking module and not directly accessible by the controller;
in response to determining, based on the monitoring, that the job tracking module is operational, waiting to receive a job completion message for the job from the job tracking module and performing a job completion action based on receiving the job completion message, wherein the job completion action is selected from a plurality of job completion actions based on how the job completed, wherein how the job completed is one of in error, canceled, or without error;
in response to determining, based on the monitoring, that the job tracking module is not operational:
obtaining the current status of the job from the CF list structure; and
performing the job completion action based on the current status indicating that the job has completed, wherein performing the job completion action enables the controller to continue execution of other jobs or actions that depend on the job being executed, thereby alleviating processing delays and improving response times responsive to the job tracking module not being operational; and
in response to determining that the job tracking module becomes available after not being operational for a period of time, resynchronizing events between the ECSA queue, the CF list structure, and an event dataset.
2 . The method of claim 1 , wherein current status records corresponding to the job are removed from the CF list structure upon completion of the job.
3 . The method of claim 1 , wherein it is determined that the job tracking module is not operational in response to the controller not being able to communicate with the job tracking module.
4 . The method of claim 1 , wherein the job completion action comprises initiating execution of a second job.
5 . The method of claim 1 , wherein the current status of the job is obtained from one or both of a system management facility (SMF) record and a job entry system (JES) record.
6 . A system comprising:
one or more processors for executing computer-readable instructions, the computer-readable instructions controlling the one or more processors to perform operations comprising:
monitoring, by a controller, an operational status of a job tracking module that is configured to track and record a current status of a job being executed and to report completion of the job to the controller, the recording comprising storing two copies of the current status, a first copy stored in a coupling facility (CF) list structure that is globally addressable by a plurality of logical partitions (LPARs) of a sysplex and accessible by the controller, and a second copy stored in an extendable common service area (ECSA) queue resident in a same LPAR of the plurality of LPARs as the job tracking module and not directly accessible by the controller;
in response to determining, based on the monitoring, that the job tracking module is operational, waiting to receive a job completion message for the job from the job tracking module and performing a job completion action based on receiving the job completion message, wherein the job completion action is selected from a plurality of job completion actions based on how the job completed, wherein how the job completed is one of in error, canceled, or without error;
in response to determining, based on the monitoring, that the job tracking module is not operational:
obtaining the current status of the job from the CF list structure; and
performing the job completion action based on the current status indicating that the job has completed, wherein performing the job completion action enables the controller to continue execution of other jobs or actions that depend on the job being executed, thereby alleviating processing delays and improving response times responsive to the job tracking module not being operational; and
in response to determining that the job tracking module becomes available after not being operational for a period of time, resynchronizing events between the ECSA queue, the CF list structure, and an event dataset.
7 . The system of claim 6 , wherein current status records corresponding to the job are removed from the CF list structure upon completion of the job.
8 . The system of claim 6 , wherein it is determined that the job tracking module is not operational in response to the controller not being able to communicate with the job tracking module.
9 . The system of claim 6 , wherein the job completion action comprises initiating execution of a second job.
10 . The system of claim 6 , wherein the current status of the job is obtained from one or both of a system management facility (SMF) record and a job entry system (JES) record.
11 . A computer program product comprising a computer-readable storage medium having program instructions embodied therewith, the program instructions executable by one or more processors to cause the one or more processors to perform operations comprising:
monitoring, by a controller, an operational status of a job tracking module that is configured to track and record a current status of a job being executed and to report completion of the job to the controller, the recording comprising storing two copies of the current status, a first copy stored in a coupling facility (CF) list structure that is globally addressable by a plurality of logical partitions (LPARs) of a sysplex and accessible by the controller, and a second copy stored in an extendable common service area (ECSA) queue resident in a same LPAR of the plurality of LPARs as the job tracking module and not directly accessible by the controller;
in response to determining, based on the monitoring, that the job tracking module is operational, waiting to receive a job completion message for the job from the job tracking module and performing a job completion action based on receiving the job completion message, wherein the job completion action is selected from a plurality of job completion actions based on how the job completed, wherein how the job completed is one of in error, canceled, or without error;
in response to determining, based on the monitoring, that the job tracking module is not operational:
obtaining the current status of the job from the CF list structure; and
performing the job completion action based on the current status indicating that the job has completed, wherein performing the job completion action enables the controller to continue execution of other jobs or actions that depend on the job being executed, thereby alleviating processing delays and improving response times responsive to the job tracking module not being operational; and
in response to determining that the job tracking module becomes available after not being operational for a period of time, resynchronizing events between the ECSA queue, the CF list structure, and an event dataset.
12 . The computer program product of claim 11 , wherein current status records corresponding to the job are removed from the CF list structure upon completion of the job.
13 . The computer program product of claim 11 , wherein it is determined that the job tracking module is not operational in response to the controller not being able to communicate with the job tracking module.
14 . The computer program product of claim 11 , wherein the job completion action comprises initiating execution of a second job.