Skip to content

Zilean

Add, edit, and disable scheduled jobs by writing a Postgres row — no code deploy required.

Registry-first

Every behavior change is a row write, never a code or deploy change. A job’s URL, auth, retry backoff and looping take effect on its next attempt — the worker re-reads the row every time.

Loop, retry and pooling stay separate

Success-path looping, error-path backoff and parallel fan-out are three independent per-job mechanisms. A job can loop without retrying, retry without looping, or do either across a pool of 20.

HTTP and script jobs

Call an endpoint on a schedule, or run Bash, JavaScript/TypeScript or Groovy. Each runtime executes in its own worker, on its own queue — a job can never run in the wrong runtime’s container.

Visibility over automation

Per-attempt call history, heartbeats, per-job activity charts, Prometheus metrics per service, an audit log, and the embedded River UI for raw queue internals.

Last updated: