Skip to content

ADR-0025: Scheduled Task System

Title

Scheduled Task System

Status

Accepted

Context

InfraLynx needs recurring and time-based triggers for background work, but job execution logic already exists in the job engine. Re-implementing execution behavior in a scheduler would duplicate status, retry, and logging concerns.

Decision

InfraLynx will store schedules centrally and evaluate them in the worker runtime. The scheduler only enqueues jobs; it does not execute them. The initial scheduler supports UTC-only five-field cron expressions and persists schedule state in a file-backed store aligned with the existing bootstrap adapters.

Consequences

  • scheduling remains independent from job execution
  • retry and failure behavior stay centralized in the job engine
  • schedule persistence survives process restarts
  • timezone handling is intentionally limited in the bootstrap phase