Controlling job and job stream processing

How you can control job and job stream processing.

In the Dynamic Workload Console, you can control job and job stream processing by specifying dependencies, setting properties, and running actions against the job or job stream.

Using dependencies to control job and job stream processing

A dependency is a prerequisite that must be satisfied before processing can proceed. You can define dependencies for both jobs and job streams to ensure the correct order of processing. You can use these types of dependencies:
On completion of jobs and job streams
A job or a job stream must not begin processing until other jobs and job streams have completed. May be defined to require success or just completion.
On satisfaction of specific conditions by jobs and job streams
A job or a job stream, named successor, must not begin processing until other jobs and job streams, named predecessor, have met one, all, or a subset of specific conditions that can be related to the status of the job or job stream, the return code, output variables, or job log content. When the conditions are not met by the predecessor, then any successor jobs with a conditional dependency associated to them are put in suppress state. Successor jobs with a standard dependency or no dependency at all defined run normally.
Resource
A job or a job stream needs one or more resources available before it can begin to run.
File
A job or a job stream needs to have one or more files meet the specified criteria before it can begin to run.
Prompt
A job or a job stream needs to wait for an affirmative response to a prompt before it can begin to run.
You can define up to 40 dependencies for a job or job stream. If you need to define more than 40 dependencies, you can group them in a join dependency. In this case, the join is used simply as a container of standard dependencies and therefore any standard dependencies in it that are not met are processed as usual and do not cause the join dependency to be considered as suppressed. For more information about join dependencies, see the section about joining or combining conditional dependencies and the join keyword in the User's Guide and Reference. In a IBM Workload Scheduler network, dependencies can cross workstation and network boundaries.
On completion of jobs and job streams
A job or a job stream must not begin processing until other jobs and job streams have completed. May be defined to require success or just completion.
Resource
A job or a job stream needs one or more resources available before it can begin to run.
In addition to this, each job needs the workstation where it is scheduled to run to be available.

To add a dependency to a job or to a job stream from the Graphical Designer, see Adding and removing dependencies.

You can also add a dependency from the panel displayed as result of your monitor task related to jobs or job streams by performing the following steps:
  1. In the query result panel select a job or a job stream and click Dependencies.
  2. In the Dependencies panel expand the section related to the dependency type you want to add and click Add predecessor.
  3. Choose between Job or Job stream
  4. Enter the required information and click OK.

    For all the details about options and fields displayed in the panel, expand the Contextual help tab at the bottom of the properties panel.

Using time restrictions to control job and job stream processing

Time restrictions can be specified for both jobs and job streams.

For a specific job or job stream you can specify the time that processing begins, earliest start, or the time after which processing can no longer be started, latest start. By specifying both, you define a time interval within which a job or job stream runs. You can use them as time dependencies.

You can also specify a deadline to specify the time within which a job or a job stream must complete. Jobs or job streams that have not yet started or that are still running when the deadline time is reached, are considered late in the plan. The deadline does not prevent jobs or job streams from starting.

You can also specify a maximum duration or a minimum duration for a job defined within a job stream. If a job is running and the maximum duration time has been exceeded, then the job can either be killed or can continue to run. If a job does not run long enough to reach the minimum duration time, then the job can be set to Abend status, to Confirm status awaiting user confirmation, or it can continue running.

For jobs you can also specify a repeat range; for example, you can have IBM® Workload Scheduler launch the same job every 30 minutes between 8:30 a.m. and 1:30 p.m.

To specify time restrictions for a job or a job stream, perform the following steps:
  1. From the Design menu, click Graphical Designer page.
  2. In the workspace, select the job stream you want to modify. For information about editing an object, see Designing your workload.
  3. Go to the Time restrictions section in the properties panel on the right.
  4. Enter the time restriction properties.

    For all the details about options and fields displayed in the panel, expand the Contextual help tab at the bottom of the properties panel.

Using job priority and workstation fence to control distributed job processing

IBM Workload Scheduler has its own queuing system, consisting of levels of priority. Assigning a priority to jobs gives you added control over their precedence and order of running.

The fence provides another type of control over job processing on a workstation. When it is set to a priority level, it only allows jobs whose priority exceeds the fence value to run on that workstation. Setting the fence to 40, for example, prevents jobs with priorities of 40 or less from being launched.

To specify job priority for a job, perform the following steps:
  1. From the Design menu, click Graphical Designer page.
  2. In the workspace, select the job stream you want to modify. For information about editing an object, see Designing your workload.
  3. Go to the Scheduling options section in the Properties panel.
  4. Enter the job priority and save the job stream.

    For all the details about options and fields displayed in the panel, expand the Contextual help tab at the bottom of the properties panel.

You can also add a job priority from the panel displayed as result of your monitor task related to jobs by performing the following steps:
  1. In the query result panel select a job and click More Actions > Priority.
  2. In the Set Priority panel specify a priority value and click OK.
To set a workstation fence perform the following steps:
  1. In the panel displayed as results of your monitor workstation task, select the workstation and click More Actions > Fence.
  2. In the Set Fence panel specify a fence value and click OK.

Using limits to control job and job stream processing

The limit provides a means of setting the highest number of jobs that IBM Workload Scheduler is allowed to launch. You can set a limit:
  • In the job stream definition
  • In the workstation definition
Setting the limit on a workstation to 25, for example, allows IBM Workload Scheduler to have no more than 25 jobs running concurrently on that workstation.
To specify a limit for a job stream, perform the following steps:
  1. From the Design menu, click Graphical Designer page.
  2. In the workspace, select the job stream you want to modify. For information about editing an object, see Designing your workload.
  3. Go to the Scheduling options section in the Properties panel.
  4. Enter the limit value and save the job stream.

    For all the details about options and fields displayed in the panel, see the online help by clicking the question mark located at the top-right corner of the panel.

You can also add a limit from the panel displayed as result of your monitor job stream task by performing the following steps:
  1. In the query result panel select a job stream and click More Actions > Limit.
  2. In the Set Limit panel specify a new limit value and click OK.
To set a workstation limit perform the following steps:
  1. In the panel displayed as result of your monitor workstation task, select the workstation and click More Actions > Limit.
  2. In the Set Limit panel specify a new limit value and click OK.

Using job confirmation to control job processing

There might be scenarios where the completion status of a job cannot be determined until you have performed some tasks. You might want to check the results printed in a report, for example. In this case, you can set in the job definition that the job requires confirmation, and IBM Workload Scheduler waits for your response before marking the job as successful or failed.

To specify that a job requires confirmation, perform the following steps:
  1. From the Design menu, click Graphical Designer page.
  2. In the workspace, select the job stream you want to modify. For information about editing an object, see Designing your workload.
  3. Go to the Scheduling options section in the Properties panel.
  4. Check Requires confirmation.

    For all the details about options and fields displayed in the panel, expand the Contextual help tab at the bottom of the properties panel.

Using job recovery actions to control job processing

When you create a job definition, you can specify the type of recovery you want performed by IBM Workload Scheduler if the job fails. The predefined recovery options are:
  • Continue with the next job. You can also continue with the next job after a prompt is issued which requires a response from the operator.
  • Stop and do not start the next job. You can also continue with the next job after a prompt is issued which requires a response from the operator.
  • Run the failed job again. You can specify also how often you want IBM Workload Scheduler to rerun the failed job and the maximum number of rerun attempts to be performed. If any rerun in the sequence completes successfully, the remaining rerun sequence is ignored and any job dependencies are released. You can optionally decide to also rerun the successors of the parent job, either all successors in the same job stream, or all successors, both in the same job stream and in other job streams, if any. In the Dynamic Workload Console, you can easily view the list of all job successors before rerunning them from the Orchestration Monitor, by selecting the job and clicking More Actions> Rerun with successors.
In addition, you can specify other actions to be taken in terms of recovery jobs and recovery prompts. For example, if a job fails, you can have IBM Workload Scheduler automatically run a recovery job, issue a recovery prompt that requires an affirmative response, and then run the failed job again. For more information about recovery actions, see .
To specify the job recovery actions, perform the following steps:
  1. From the Design menu, click Graphical Designer page.
  2. In the workspace, select the job you want to modify. For information about editing an object, see Designing your workload.
  3. Select the Recovery options section in the Properties panel.
  4. Enter the recovery Action and the remaining information, as necessary. Then save the job.

    For all the details about options and fields displayed in the panel, expand the Contextual help tab at the bottom of the properties panel.

Modifying job instances in the plan to control job processing

Even after your jobs have been submitted into the current plan, you still have opportunities to modify them without having to go back to the original job definition in the database. When modifying a job instance, you can change the definition if the job has not yet started to run, or you can change the definition of a job that has already run and rerun it with the new definition. For example, you can update a command or script, rerun a job with a different logon name or priority, or edit connection server details. Whatever the change, this is a quick and easy way to react and recover.

To modify the job definition of a job instance that has not yet run, perform the following steps:
  1. From the Orchestration Monitor, run a query on your jobs.
  2. From the resulting list of jobs, select a job that has not yet run and click More Actions > Edit Job.
  3. Modify the job definition then click OK to save the changes. To restore original definition, click Reload.
To rerun a job with a different definition, perform the following steps:
  1. From Orchestration Monitor, run a query on your jobs.
  2. From the resulting list of jobs, select a job that has already run and then click Rerun.
  3. From the Rerun Job dialog, select Edit Job and then click Edit Job.
  4. Modify the job definition then click OK to save the changes. To restore original definition, click Reload.
  5. Click Rerun to rerun the job with the modified definition.