Skip to content

Scheduler Center

Firefly's scheduling center is organized around configuration entities and runtime state.

text
JobDefinition -> JobGroupDefinition -> ExecutorDefinition -> ExecutorInstance

Configuration Data

ModelDescription
ExecutorDefinitionLogical executor definition, such as billing-executor
ExecutorInstanceOnline service instance with heartbeat and connection state
JobGroupDefinitionJob group bound to a default executor
JobDefinitionJob schedule, target, policy, and parameters

Runtime Data

Runtime data includes nextFireTime, executions, targets, outbox records, node heartbeats, and shard leases. Firefly separates configuration and runtime state so one table does not carry every meaning.

Hot Path

text
load active jobs from store
        ->
build local TimingIndex
        ->
tick reads local due batch
        ->
advance runtime cursor
        ->
write execution and outbox
        ->
dispatch to local handler or remote executor

Persistent storage is the source of truth, but the scheduler does not scan the database on every short tick.

Released under the Apache-2.0 License.