Defining time-outs for jobs

By defining time-out values for jobs or parts of jobs, you can avoid or resolve issues that occur if a job encounters an unresponsive or unlicensed server. If you do not use this procedure to specify a time-out for a job or job part, a slow-running job can absorb Application Server resources for an extended amount of time, and you may be unable to determine whether a job is hung.

Considerations for setting time-out values

Review the following considerations prior to working with time-out values:

  • You define a time-out period for a job by assigning a value to a job's JOB_TIMEOUT property that specifies a maximum period of time, in minutes, for the job to complete. If the job exceeds this maximum, the system automatically cancels the job.
  • You define a time-out period for a job part by assigning a value to a job's JOB_PART_TIMEOUT property that specifies a maximum period of time, in minutes, for each job part to complete. If completion of a job part exceeds this maximum, the system automatically cancels that job part along with all other job parts running on the same server. The rest of the job continues.
  • Canceling all job parts on the same server prevents situations where multiple job parts must time out serially on the same unresponsive server. If necessary, you can override this capability on a global basis so only a single job part times out while all other job parts continue to execute. You can also set a value for how long the canceling of a job part should take.
  • To determine an appropriate value for job-level and job part time-outs, you must consider many factors, such as the load on a machine and the contents of each job part. You may want to test by performing multiple iterations on a job to determine appropriate time-out values. For example, if you perform some tests and determine that the processing of a job part never requires more than two minutes, you might set the job part time-out to be five minutes.

To define time-outs for a job

  1. Do one of the following:
    • In the Jobs folder, navigate to a job, right-click the job and select Show Results.
    • Using the Servers folder, right-click a server and select Browse. Then select the Audit Results or Snapshot Results tab to navigate to a Snapshot or Audit Job.
  2. Right-click the job and select Properties. The job appears in a tabbed window, in which you can view and edit the job properties.
  3. Click the Properties tab.
  4. Add time-out properties by doing any of the following:
    • To add a job-level time-out, click the cell in the Value column for the JOB_TIMEOUT  property. Enter a maximum period of time (in minutes) to elapse before the job is automatically canceled.

      Note

      When applying job-level time-outs, be aware of the following issues:

      • Job-level time-outs apply only to job types for which job scheduling is possible.
      • For Batch Jobs, only the Batch Job can be scheduled. The job-level time-out (the JOB_TIMEOUT  setting) is applicable for all member jobs that make up the Batch Job. However, time-out of a member job does not affect the overall Batch Job execution. The behavior of the Batch Job when a member job times out depends on the execution setting of the member jobs, as follows:
        • Member jobs are set to execute sequentially: If a member job gets cancelled because of time-out, the Batch Job executes the next job if the overall execution time does not exceed the JOB_TIMEOUT setting for the Batch Job.
        • Member jobs are set to execute in parallel: If a member job gets cancelled because of time-out, the Batch Job continues to execute until all the member jobs are completed.
      • For Deploy Jobs, job-level time-out properties only apply to Software Deploy Jobs, basic BLPackage Deploy Jobs, or advanced BLPackage Deploy Jobs with phases that run sequentially.
      • Because undo jobs cannot be scheduled, job-level time-outs do not apply to undo jobs.
    • To add a job part time-out, click the cell in the Value column for the JOB_PART_TIMEOUT  property. Enter a maximum period of time (in minutes) that should elapse before a job part is canceled.

      Note

      When applying job part timeouts, be aware of the following issues:

      • By default, all other job parts acting on the same server are also canceled when one job part times out. This prevents situations where multiple job parts must time out serially on the same unresponsive server. However, you can override this behavior by setting the PropagateWorkItemTimeout property to false through the Application Server Administration console (the blasadmin utility), as described in To set time-out behavior for work item threads.
      • If cancellation of a job part exceeds the maximum period of time defined, the entire job is canceled. This prevents situations where cancellation of a job is not performing as expected and the act of canceling the job is actually hanging a job. To specify a maximum amount of time for canceling a job part, modify the MaxTimeForCancelToFinish property through the Application Server Administration console (the blasadmin utility), as described in To specify a maximum time for canceling a job part.
      • For a Batch Job, the job part timeout is not relevant at the Batch Job level. Only the job part timeouts defined in the member jobs are taken into account.
  5. To close the job, click OK or Finish.
Was this page helpful? Yes No Submitting... Thank you

Comments