Nox-Lumen MfgNox-Lumen Mfg

Cron scheduling

Why Cron is first-class

In the six-layer architecture, scheduled tasks sit beside event triggers as infrastructure that delivers work into Sessions:

Rendering diagram…

Cron enables periodic proactive work—dailies, patrol jobs, alarms, batch schedules.

Three schedule kinds

TypeMeaningExample schedule_value
atOne-shot; auto-disables after run2026-04-25T09:00:00 (ISO, ≥1 minute ahead)
cronStandard 5-field crontab0 9 * * * daily 9:00 · 0 10 * * 1 Monday 10:00
everyFixed interval30m, 2h, 1d (minimum 5 minutes)

Two execution modes

ModeMeaningWhen to use
isolatedSpin a temporary SessionDefault; jobs don’t interfere
mainRun inside the creating SessionNeed inherited files / memory / context

Delivery modes

After a job fires, output can go to:

ModeBehavior
SESSIONPost back to a Session (default)
CHANNELPush to Feishu / WeCom / email
WEBHOOKHTTP callback
LOGLog only

If the job was created in a group chat, results auto-return to that group—no extra config.

Conflict policy

When a previous run is still executing and the next tick arrives:

PolicyBehavior
SKIPSkip this tick
QUEUEWait until prior run finishes
FALLBACK_ISOLATEDRun this tick in an isolated Session

Retry policy

  • Max attempts: default 3
  • Backoff: 30s → 60s → 300s → 900s → 3600s
  • Retriable: timeout / rate_limit / server_error / network_error
  • Non-retriable: business / permission permanent_error

Agent-managed scheduling

Built-in tool manage_cron_job lets users create / list / delete jobs in chat—no admin UI required:

User: Every morning at 9, send me a digest of yesterday’s R&D progress.

Agent calls:
manage_cron_job(
    action="create",
    name="Daily R&D digest",
    schedule_type="cron",
    schedule_value="0 9 * * *",
    prompt="Summarize yesterday’s PR/MR changes, tests, and Bug progress by team",
    execution_mode="isolated",
)

On trigger:

Rendering diagram…

Typical patterns

Daily 9am digest                 → cron "0 9 * * *"
Weekly Monday 10am team report   → cron "0 10 * * 1"
Every 30m CI patrol              → every "30m"
Reminder 15m before meeting      → at "2026-04-28T09:45:00"
Nightly 2am LTM reindex          → cron "0 2 * * *"
Friday 3pm compliance audit      → cron "0 15 * * 5"
Daily 1am DOORS delta sync       → cron "0 1 * * *"

Cron vs EventTrigger

AxisCronEventTrigger
SourceClockExternal events
ExamplesReports, patrols, alarmsPR review, requirement change, chat
CreationAgent or admin UIAdmin Webhook / routing
ConcurrencyUsually single instance per jobBursty under spikes

Compose: cron can chain into EventTrigger; EventTrigger can spawn cron jobs.

Persistence & observability

  • MySQL persistence — survives restarts
  • Run history — status, duration, output, errors
  • Audit — create / update / delete logged per tenant
  • APM — each fire has a Trace ID; see Observability

On this page