Schedule, orchestrate, and monitor background tasks with cron expressions, retry strategies, DAG workflows, and a real-time dashboard.
Everything you need to manage background jobs at any scale.
Standard 5-field and extended 6-field (with seconds) cron expressions. Presets like @daily, @hourly. Timezone support.
Exponential, linear, fixed, and Fibonacci strategies. Full/equal/decorrelated jitter. Circuit breaker pattern.
Named queues with configurable priority, concurrency limits, rate limiting, and pause/resume control.
Multi-step directed acyclic graph execution with step dependencies, cycle detection, and failure strategies.
Group related jobs into batches with progress tracking and callback jobs on completion.
Deduplication via unique keys. Prevent duplicate jobs from being enqueued simultaneously.
Permanently failed jobs are preserved for inspection, retry, or purging with configurable TTL.
Real-time web dashboard with job browser, queue stats, worker monitoring, and schedule management.
HTTP webhooks fired on job completion, failure, or custom events. Retry with exponential backoff.
Get Koder Cron running in minutes.
# Debian/Ubuntu
sudo apt install koder-cron
# From source
git clone https://flow.koder.dev/koder/koder-cron.git
cd koder-cron
make build
sudo make install
# /etc/koder-cron/default.toml
[server]
host = "0.0.0.0"
port = 9298
[database]
host = "localhost"
port = 5433
name = "kodercron"
user = "kodercron"
password = "KoderCron@2026"
[worker]
concurrency = 10
poll_interval = 1000
[scheduler]
tick_interval = 500
# Start the server
kcron serve --config /etc/koder-cron/default.toml
# Create a schedule
kcron schedules create daily-report \
--cron "0 9 * * *" \
--job generate_report
# Enqueue a job
kcron run send_email --queue notifications --payload '{"to":"user@example.com"}'
# View status
kcron status
Full-featured REST API for programmatic access.
# List jobs
curl https://cron.koder.dev/api/v1/jobs
# Create a job
curl -X POST https://cron.koder.dev/api/v1/jobs \
-H "Content-Type: application/json" \
-d '{"name":"process_order","queue":"orders","payload":{"order_id":123}}'
# Create a schedule
curl -X POST https://cron.koder.dev/api/v1/schedules \
-H "Content-Type: application/json" \
-d '{"name":"hourly-sync","cron_expr":"0 * * * *","job_name":"sync_data"}'
# Create a workflow (DAG)
curl -X POST https://cron.koder.dev/api/v1/workflows \
-H "Content-Type: application/json" \
-d '{
"name": "etl_pipeline",
"steps": [
{"name":"extract","job_name":"extract_data"},
{"name":"transform","job_name":"transform_data","depends_on":["extract"]},
{"name":"load","job_name":"load_data","depends_on":["transform"]}
]
}'
# Health check
curl https://cron.koder.dev/health
# Prometheus metrics
curl https://cron.koder.dev/metrics
Built with Koder Lang for reliability and performance.
Cron parser, tick loop, delayed job processor
Named queues, priority routing, rate limiting
Concurrent execution, heartbeat, graceful shutdown
DAG validation, step dispatch, failure strategies
Backoff strategies, jitter, circuit breaker
JSON API, middleware chain, Prometheus metrics
Real-time SPA, job browser, queue stats
Job persistence, atomic dequeue, migrations