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) |