batch

Batch jobs: the queue, the workers that run the jobs, and the dispatcher between them.

Group batch

Detailed description

A caller submits a BatchJob to a BatchQueue. The dispatcher offers each pending job to a registered IBatchWorker that accepts its type, on this node or, for a portable job, on another one. BatchQueueService gives the queue a node service lifecycle.

Classes

Class What it is
BatchJob Single unit of work scheduled through BatchQueue
BatchJobLog One log line that a batch job wrote: its level, its message and when it was written
BatchQueue Generic FIFO/priority queue for asynchronous batch jobs
BatchStatusWidget Header chip tracking the BatchQueue. Inherits all visual concerns from HeaderProgressChip; this class only wires the queue's signals to the chip's state setters
DurationRecorder Run time and the output size of each job type, learned from the runs that finished (work-placement §WPS-6)
IBatchWorker Interface every batch worker implements: what it is, which jobs it takes, and how it runs them
PlacementHysteresis Keeps a job type where it runs until another place beats it by the margin twice in a row (work-placement §WPS-8)
PlacementSolver Chooses where a job runs, scores every option, and says why (work-placement §WPS-4)
In this section