What is Job Scheduler and Batch Processing ?

Job Scheduler

Job scheduler has the facility for improving system productivity by organizing and automating the  workload.It provides Automatic job submission based on date, time, completion of predecessor jobs and availability of resources.It has time driven and event driven facilities used to schedule work station activities and jobs. These facilities can be used to schedule any definable activity whether or not that activity is related to work load or to a job processing.Jobs can be scheduled to run and manipulated in a variety of ways.



The common basic features that are  be found in a job scheduler include:

  • Continuously automatic monitoring of jobs and completion notification
  • Event-driven job scheduling
  • Performance monitoring
  • Report scheduling
  • Interfaces which help to define workflows and/or job dependencies
  • Automatic submission of executions
  • Interfaces to monitor the executions
  • Priorities and/or queues to control the execution order of
  • unrelated jobs
  • real-time scheduling based on external, unpredictable events
  • automatic restart and recovery in event of failures



The concepts that are involved in most common job schedulers :

  • Jobs
  • Dependencies
  • Job Streams
  • Users



Jobs

  • Jobs can be scheduled to run and manipulated in different ways. The two common terms are “job triggering” and “job dependency”.
  • Job triggering means a job’s JCL is being pulled into the Scheduler queue for execution. If it has no other dependencies on it, it runs right away.
  • But if there are other dependencies, it will wait for them to be satisfied. In other works, when a job is triggered, it doesn’t necessarily run right then
  • A job dependency is a job that must complete before the job waiting in the queue can run . Upon successful completion of the preceding job, the job waiting in the queue will be submitted.
  • However, if the dependent job does not complete successfully, the job dependency will not be posted.
  • Jobs can have the following dependencies:
    • Submit time
    • User requirement
    • Job dependency
  • Jobs can be scheduled in two different ways:
    • Calendar scheduled
    • Triggered

Submit time means that at its set time, the job will automatically be submitted by the Scheduler, provided any other dependencies have been met
Job dependencies are posted by completion of preceding jobs.All jobs are set up with a “look back” time. That determines how far Scheduler will look back to see if the proceeding jobs completed successfully during that timeframe.
User requirements are text messages that need to be manually posted for the job to be submitted.
Calendar scheduled means a job has been added to one of the Scheduler calendars for a specific day(s) and time
Triggered means job ‘B’ will only run when job ‘A’ triggers job ‘B’.
 


Using JST (Job Scheduler Tool)

Job Scheduler tool called JST using REXX language and implemented the main functionality and features of high expensive Job Schedulers like CA7 and ESP.

Functionality:

  • This tool accepts the PDS name containing the Jobs as members and it list out all the jobs available in the given PDS. User have to select the jobs for execution.
  • This is a one time activity when a new set of jobs are to be executed using the tool (a default value of ‘Y’ is set to execute the jobs)
  • Give the Expected MAX-CC for each job you have selected. (By default for all Jobs MAX-CC will be 0 )
  • Provide the new PS name, in which the details of the selected job will get written.
  • During the execution, the tool will submit the jobs one by one which are available in the given PS file.
  • It submits the jobs based on predecessor job’s successful completion .
  • Tool will intimate the user during unsuccessful job completion like job abend, Invalid MAX-CC through email automatically.



Features:

  • Job Scheduler Tool has developed based on GUI screen. Hence it improves user friendliness.
  • No need for manual intervention to run any number of jobs. Manual intervention is required only if any job gets abend.
  • Tool will continuously monitor the Job under execution and it will intimate the user during unsuccessful job completion/a bend.
  • It also provides the facility to resolve the Job abend by holding the execution in queue.
  • After executing the jobs, the tool will generate an overall report of the executed jobs with job id, actual MAX-CC, expected MAX-CC and completion status.
  • We can save more than 50% (may vary up to 95%) of manual effort in the batch jobs execution.
  • Intimating the user about the Job abend through Email.
  • Providing the functionality to have check points or Validation points during the Job execution for Testing Environment.
  • Providing the feature to analyze and resubmit the failed Jobs.
  • Entire Reporting Facility including all required information about the Jobs in the Report format.

 


BATCH PROCESSING

  • Batch processing is execution of a series of jobs without manual intervention
  • Jobs are set up so they can be run to completion without manual intervention, so all input data are preselected through scripts, command-line parameters, or job control language
  • In Batch Processing Environment A program takes a set of data  files as input, processes the data, and produces a set of output data files.



Advantages of Batch Processing

  • Batch Processing avoids idling the computing resources with minute-by-minute manual intervention and supervision.
  • It can shift the time of job processing to when the computing resources are less busy.
  • It allows the system to use different priorities for batch and interactive work
  • Batch applications are still critical in most organizations in large part because many core business processes are inherently batch-oriented.
  • New systems usually contain one or more batch applications for updating information for generating reports, printing documents, and other non-interactive tasks that must complete reliably within certain business deadlines.
  • High volume batch processing places particularly heavy demands on system and application architectures as well.
  • A typical batch processing schedule includes end of day reporting .
  • Many systems have a batch window where online subsystems were turned off and the system capacity was used to run jobs common to all data (accounts, users, or customers) on a system.