Cron scheduler

Disk-backed cron jobs that enqueue workers on a schedule. No external cron daemon — Resuma ticks every RESUMA_SCHEDULER_TICK_SECS (default 30s).

LIVE

Cron scheduler

Uses the real resuma::exec::scheduler API on this server — jobs persist under .resuma/scheduler/.

Click a button to list schedules, create a demo job, or run a tick.

Create a schedule

POST /_resuma/scheduler
Authorization: Bearer $RESUMA_EXEC_API_KEY

{
  "name": "nightly-enrich",
  "cron": "0 2 * * *",
  "worker": "enrich",
  "queue": "default",
  "input": { "url": "https://example.com" }
}

Cron expressions

  • @hourly, @daily, @weekly — presets
  • 0 */6 * * * — standard 5-field cron

HTTP API

MethodPathPurpose
GET/_resuma/schedulerList jobs
POST/_resuma/schedulerCreate job
DELETE/_resuma/scheduler/{id}Remove job
POST/_resuma/scheduler/tickFire due jobs once (admin)

Multi-process safety

Due jobs are claimed with an atomic rename into scheduler/jobs/firing/ before enqueue — only one process fires each tick. Stuck claims are recovered on scheduler start.

← Queue · Webhooks →