Skip to content

Worker Runtime Flows

Global loop pattern

sequenceDiagram
    participant Loop as worker loop
    participant CFG as cConfig and cConfigExt
    participant LOCK as runtime lock
    participant RUN as job run tracker
    participant TASK as Celery task
    Loop->>CFG: iterate active enabled configs
    Loop->>CFG: read jobs.*.config and runtime
    Loop->>LOCK: try acquire per-config lock
    Loop->>RUN: create queued job run
    Loop->>TASK: dispatch Celery task
    TASK-->>RUN: mark running or success or failure
    TASK-->>CFG: update runtime timestamps and state

Dependency chain

flowchart LR
    PKG[packages loop] --> PAY[payloads loop]
    PKG --> MSG[messages loop]
    PKG --> ALT[alerts loop]
    MSG --> ALT
    ALT --> UI[alerts and overview cards]
    MSG --> UIP[message popups]
    PKG --> UIF[packages and artifacts]

Message loop split

The message sync is intentionally split:

  • hot loop uses repeat_interval
  • cold loop uses repeat_interval_cold

This allows recent operational messages to refresh faster than older history windows.

Example runtime keys

Runtime key Typical meaning
last_run last generic loop execution
last_run_hot last hot message sync
last_run_cold last cold message sync
last_seen_completed highest completed message timestamp seen by alert logic
active_since_completed alert-runtime continuity marker
last_deep_sync last nightly deep sync for package or artifact state