Class: Scheduler
Defined in: packages/orchestration/src/scheduler/scheduler.ts:30
Heartbeat-based scheduler with event-driven triggers. Dispatches queued tickets to available agents.
Constructors
Constructor
new Scheduler(
ticketStore,ticketGraph,registry,runManager,events):Scheduler
Defined in: packages/orchestration/src/scheduler/scheduler.ts:40
Parameters
ticketStore
ticketGraph
registry
runManager
events
EventBus<OrchestrationEventMap>
Returns
Scheduler
Methods
addTrigger()
addTrigger(
trigger,action):void
Defined in: packages/orchestration/src/scheduler/scheduler.ts:76
Add a custom trigger
Parameters
trigger
action
() => Promise<void>
Returns
void
awaitInFlight()
awaitInFlight():
Promise<void>
Defined in: packages/orchestration/src/scheduler/scheduler.ts:215
Await all in-flight spawn promises
Returns
Promise<void>
explain()
explain(
ticketId):Promise<SkipReason>
Defined in: packages/orchestration/src/scheduler/scheduler.ts:171
Diagnose why a ticket isn't dispatching. Returns a structured reason — useful for debugging and UI status indicators.
Parameters
ticketId
string
Returns
Promise<SkipReason>
start()
start(
intervalMs?):void
Defined in: packages/orchestration/src/scheduler/scheduler.ts:49
Start heartbeat loop
Parameters
intervalMs?
number = 30_000
Returns
void
stop()
stop():
void
Defined in: packages/orchestration/src/scheduler/scheduler.ts:60
Stop heartbeat
Returns
void
tick()
tick():
Promise<void>
Defined in: packages/orchestration/src/scheduler/scheduler.ts:105
Single dispatch cycle:
- Find queued tickets ordered by priority
- Check dependency resolution
- Match to available agents
- Spawn runs
Returns
Promise<void>