Overview
Outcron is a multi-tenant service for scheduling and running HTTP calls, container tasks, scripts, database queries, cloud CLI commands, serverless function invocations, git-based workflows, infrastructure drift detection, and ETL pipelines. It provides a web dashboard, a REST API, and a CLI tool (outctl) for managing your scheduled workloads.
Key Concepts
- Jobs define what to run — an HTTP request, a script, a database query, a cloud command, and more.
- Schedules define when to run a job — using cron expressions with timezone support.
- Executions are individual runs of a job, tracked from pending through completion.
- Alerts monitor execution patterns and notify you when things go wrong.
- Organizations provide multi-tenant isolation — every resource belongs to exactly one org.
How It Works
- Create a job — configure the target URL, script, database connection, container image, or other job-specific settings.
- Attach a schedule — set a cron expression, timezone, and misfire policy.
- Monitor executions — view results, logs, and duration metrics in real time.
- Set up alerts — route rule-fired and lifecycle notifications to email, webhooks, chat, or incident tools.
Reliability Model
Outcron's scheduler is designed to recover cleanly after restarts or maintenance windows. Schedule timing is calculated with timezone awareness, missed-run behavior is controlled by each schedule's misfire policy, and duplicate scheduled executions are prevented with database-backed coordination.
Executors claim pending work, run the job, and report the result back to execution history. If an executor goes down, stale executions are automatically recovered so healthy capacity can pick them up.
Access Model
Every user belongs to one or more organizations. Within each org, access is controlled by roles assigned through groups:
- Roles define a set of permission tags (e.g.,
jobs:read,schedules:write). - Groups assign roles to users.
- API keys carry their own permission tags for programmatic access.