February 20, 2019 | IBM i

4 Approaches to Job Scheduling on the IBM i

image

When you use a third-party IBM i job scheduler, jobs can be scheduled in the following four ways:

  1. Stand-alone job scheduling where jobs run at certain dates and times. Although the native IBM i job scheduler also uses stand-alone scheduling, third-party IBM i job schedulers provide significantly better scheduling options than the native scheduler.
  2. Workflow scheduling, where jobs run in sequence based on the completion of other jobs in the workflow
  3. Event-driven scheduling, where jobs are submitted based on pre-requisites occurring, such as files being created or changed
  4. Dependency scheduling, where corrective actions are taken, or IT personnel are alerted based on the status of other scheduled jobs (completion, error status, etc.)

 

Here are the practical aspects of using each type of job scheduling to automatically run your IBM i batch jobs, and how they benefit your organization.

 

Stand-alone job scheduling

For shops that use the IBM i native job scheduler, stand-alone scheduling–where jobs run at specific dates and times–is the only type of job scheduling that’s available. Third-party IBM i job schedulers such as our absScheduler product, offer the following features above the stand-alone scheduling provided by the native IBM i job scheduler.

  • Third-party schedulers can run multiple commands in each job. The native IBM i job scheduler is limited to running only one command in each job. Migrating from the native job scheduler to a third-party scheduler allows you to consolidate several one command jobs into a single job entry.
  • Third-party job schedulers can run the same job several times a day. If you have a job that must run each hour to produce pick tickets for example, you can set up an entry to run the same commands at different times each day. This feature is great for jobs that must run periodically throughout the day at different times.
  • Jobs can be run based on dates set up in a calendar. You can set up jobs to only run (or skip running) on holidays, specific business days, or on fiscal month- and year-end dates, a feature that isn’t present in the native job scheduler.
  • Jobs can run on irregular dates each month. You can schedule jobs to run on moving dates, such as the 2nd Tuesday of the month, the last day of the month, or every two weeks. Jobs can be set up to determine their own run dates based on your specific needs.

Using a third-party IBM i job scheduler offers a number of enhancements to stand-alone job scheduling that you can’t get in the native IBM i job scheduler.

 

Workflow scheduling

IBM i job schedulers allow you to set up complex workflow scheduling for running multiple jobs in sequence. Job entries can be set up in a job stream so that each job entry waits for one or more preceding job entries to complete before it starts running. Workflow scheduling allows for sequential processing, such as shipping and invoicing job streams where all the shipped products must be posted first before invoices can be sent to the customer.

 

Event-driven scheduling

IBM i jobs can be scheduled based on another event occurring in the system. Using event-driven scheduling, a file upload process can be scheduled to start running once an input file is received or an order update job can be submitted after an order file is changed. Event-driven scheduling allows you to schedule and run IBM i jobs based on normal events that are happening on your system right now.

 

Event-driven scheduling provides a dynamic way to schedule jobs on the fly, automatically reacting to changing conditions on your IBM i system.

 

Dependency scheduling

Dependency scheduling occurs when corrective actions are kicked off on your i system based on job errors or exceptions in running jobs. Dependency scheduling covers the following situations.

  • Initiating corrective action – Third-party schedulers can initiate a corrective action when errors or exceptions occur in scheduled jobs, including error messages, abnormal termination, jobs running too long or too short, and scheduled jobs not running on time. For example, if your nightly end of day (EOD) workflow runs too long and affects start of business processing, your job scheduler can automatically end EOD and execute a corrective process. You can also configure jobs to automatically answer standard inquiry messages, such as retrying record allocations or increasing file and spooled file sizes.
  • Alerting IT Operations (IT Ops) when an error or exception occurs –Third-party job schedulers can automatically alert IT Ops responders when an exception or error occurs. Text or email alerts can be sent when jobs end in error, when inquiry messages need answering, when corrective actions have been taken, when jobs start late or end late, or for other unusual events.

Dependency scheduling is used when job errors and exceptions occur, and your job scheduler is configured to react to those events.

 

More flexibility and options

Like a table, third-party job scheduling software has four sturdy legs that support all or your job scheduling needs.

Stand-alone job scheduling (first leg) allows you to schedule everyday jobs that run at specific regular and irregular dates and times.

Workflow scheduling (second leg) allows you to set up complex, multi-step job streams that consist of many different jobs running in a pre-defined sequence, where one or more jobs must complete for each job entry to run.

Event-driven scheduling (third leg) kicks off job processing that occurs whenever a normal and expected event happens, such as a file or data change.

Dependency scheduling (fourth leg) kicks off corrective actions and sends IT alerts when errors and unusual events happen on the system.

 

These techniques can also be combined to meet hybrid scheduling needs. A stand-alone job can be triggered by event-driven scheduling. A scheduled workflow job stream can kick off dependency jobs whenever a corrective action is needed. Each technique can be mixed or matched to meet your specific needs.

 

Third-party IBM i job schedulers are incredibly flexible and provide for a much greater range of actions than are available in the native IBM i job scheduler. If you have processing needs that go beyond just scheduling a single command stand-alone job, SEA recommends looking at a third-party IBM i job scheduler. For more information on how third-party job schedulers can help your IBM i processing, please download our white paper on third-party IBM i job schedulers or contact us at SEA.