Console

Scheduler

Owns recurring work. Everything periodic goes through here rather than through cron on individual boxes.

What it does

Everything periodic runs here. The rule is that no service schedules its own recurring work — if it needs to happen on a clock, it is registered with the scheduler and shows up in one place.

Registered jobs

JobCadenceOwner
staging-sweepevery 15mingest
retry-drainevery 5mnotifier
cold-movedaily 03:00Zarchiver
index-verifyweekly Sun 04:00Zarchiver
report-rollupdaily 06:00Zconsole

Timezones

All cadences are UTC. This caused enough confusion that the 2026.9.1 release removed local-time scheduling entirely rather than keeping both. Jobs that genuinely need a local wall clock compute it themselves.

Overlap

A job that is still running when its next tick arrives does not get a second instance. The tick is skipped and counted. Persistent skipping shows up on status as a degraded check.

Backfill

Backfills are not scheduled work and do not belong here. Run them from the owning service's CLI so they are attributable to a person.

All services