Unsupported content

 

This version of the documentation is no longer supported. However, the documentation is available for your convenience. You will not be able to leave comments.

Work item and job execution threads

A single Application Server processes BMC Server Automation jobs using one job execution thread and a configurable number of work item threads. The job execution thread constantly watches for scheduled jobs. (Note that a job set to run immediately is considered a scheduled job.) When a job comes due, the job execution thread loads the job and allocates work item threads, which perform all work required for that job. After initiating a job in this way, the job execution thread continues to watch for other scheduled jobs. (For a description of how multiple Application Servers can process jobs cooperatively, see Job distribution.)

The number of work item threads required for a job varies by job type. All jobs require one work item thread for pre-execution and another for post-execution. In addition, one work item thread is required to execute each part of the job. For most job types, the number of job parts equals the number of target servers, but there are exceptions to this rule. Deploy Jobs can optionally utilize a special pool of lightweight work item threads used only for processing Deploy Job phases that access target servers.

When allocating work item threads, the Application Server assigns equal preference to all pending jobs. When an Application Server is running multiple jobs, a sufficient number of work item threads might not be available for simultaneously processing all jobs. In this case, when a work item thread becomes available, it is assigned to the first job in the queue of pending jobs. When the next work item thread becomes available, it is assigned to the second job in the queue. The next work item thread goes to the third job in the queue, and so forth, until a work item thread has been assigned to all jobs in the queue. Then the cycle of allocating work item threads begins again, starting with the first job in the queue. With this system, all jobs can begin processing as soon as a work item thread becomes available. However, jobs with fewer job parts might complete sooner than jobs with many job parts.

For more information about specifying the number of available work item threads, see Managing the Application Server.

Was this page helpful? Yes No Submitting... Thank you

Comments