Assembles one project's Trove engine into a single running unit (§OR-1). More...
| Header: | #include <TroveSupervisor> |
| Inherits: | QObject |
The constructor builds a BatchQueue, optionally durable through an IBatchStore (§BP), and a BatchDispatcher that runs the TroveSessionWorker. The worker starts sessions through a SessionManager and parks rate-limited jobs on the Scheduler, which resumes them after the reset (§OR-5). start() enables dispatch, the idle-session reaper and the scheduler tick; stop() halts all three and shuts every live session down.
TroveProjectManager creates one supervisor per project and holds it in a QSharedPointer. The class does not depend on a Node, so tests construct it headless. Operator work enters through enqueuePlan() and dispatchWorkUnit(); cancel(), intervene() and the other operator actions reach a running job through the SessionManager.