Bosca / System

Jobs & Scheduling

Background work that finishes

The async engine underneath the platform: a durable job queue that retries, a real cron scheduler, and one record of every run — scheduled or event-driven.

Durable jobs

A queue that doesn't drop work

Background work runs on a durable queue — NATS JetStream or Redis, your choice. If a job fails, it retries on its own with a growing delay, and anything that stalls gets picked back up. And a job only starts once the change that created it is committed, so nothing fires on work that rolled back.

  • Runs on NATS JetStream or Redis, your choice.
  • Failed jobs retry on their own, with a growing delay.
  • Stalled jobs are picked back up.
  • A job starts only after its change is committed.
job · webhook-deliver
queuenotifications
retry2 of 10
backoffgrowing delay
enqueueafter commit

Scheduler

Cron, done properly

Scheduled jobs run on standard cron, validated before they're saved. Enable or disable one, run it now, and see when it last ran and runs next. Missed runs can catch up to a limit you set, and you decide whether a job may overlap itself.

  • Standard five-field cron, validated up front.
  • Enable, disable, or run a job on demand.
  • Catch up missed runs, up to a limit you set.
  • Allow or forbid a job from overlapping itself.
scheduler
nightly-backup0 3 * * *next 03:00
index-rebuild*/15 * * * *next 12:15
cleanup-temp0 0 * * 0disabled

Run history

Every run, in one place

Whether a job ran on a schedule or fired in reaction to an event, it lands in one history — what ran, when it started and finished, and how it ended. Filter by status or by source, and cancel a job that's still pending or running.

  • One history for scheduled and event-driven runs.
  • See what ran, when, and how it ended.
  • Filter by status or by source.
  • Cancel a pending or running job.
jobs · history
index rebuildschedulercomplete
profile synceventrunning
webhook delivereventretry 2/10

Keep exploring

More on System