Critical path handler (CPH)
The critical path handler (CPH) subtask updates the critical job table, which is a table of storage control blocks, containing an entry for each critical job and each predecessor to a critical job. The scheduler allocates the critical job table in a data space, as it does for the special resources control blocks.
Only the CPH subtask can update the critical job table,
using a queue driven mechanism. Any task that requests to update the
critical job table adds an element to the queue named CPHQ. The CPH
subtask serves this queue, by using an internal timer to wake up periodically
and check the critical job table data: the process recalculates a
critical path every time a predecessor of the target operation starts
delaying for one of the following reasons:
- It is late, meaning that it did not start within its latest start time.
- It is long running, meaning that it is running longer than its estimated duration.
- It ends with an error.
If the critical path changed, the scheduler updates the current plan.