Cron jobs you can finally trust
Schedule HTTP jobs down to 15-second precision and get alerted the moment they fail — Slack, PagerDuty, email, or webhooks. No more silent 3 a.m. failures.
Free forever plan · No credit card required
$ cronctl jobs create --name nightly-report{"schedule": { "type": "interval", "interval_seconds": 15, "timezone": "UTC" },"overlap_policy": "skip","retry_policy": { "max_attempts": 3, "base_backoff_ms": 500, "jitter": true }}$ curl https://ping.cronctl.com/hb/9f2c1a # heartbeat: report doneok — next deadline in 60s
Minimum schedule interval
Built-in alert channels
Days of metrics & history
Virtual shards for scale
Plugs into the tools your team already runs on
Capabilities
Everything your schedules deserve
From a single nightly job to a fleet of interdependent pipelines.
How it works
Live in three steps
From zero to a monitored job in under two minutes.
Connect an endpoint
Point cronctl at any URL, with headers, auth, query params, and response assertions.
Set a schedule
Cron or interval down to 15 seconds — timezone-aware, with execution windows and day filters.
Let it run
We execute it, retry failures, deduplicate incidents, and alert the right channel automatically.
Precision scheduling
Schedules that respect your timezone
Define exactly when a job runs — no cron-syntax gymnastics required. Sub-minute intervals, execution windows, day-of-week filters, and DST-safe timezones.
- Intervals from 15 seconds, or full cron with seconds support
- Execution windows and day-of-week filters
- Timezone-aware and immune to daylight-saving shifts
Smart alerting
Alerting that doesn't cry wolf
One outage should mean one alert. cronctl deduplicates incidents, throttles noise, escalates on failure streaks, and tells you the moment things recover.
- Deduplicated incidents — no alert storms
- Rules on status code, duration, and consecutive failures
- Automatic recovery notifications
- Run failed (HTTP 503)0s
- Retry with backoff2s
- Incident opened6s
- Slack notified6s
- Recovered1m
Orchestration
Orchestrate pipelines, not just jobs
Chain jobs into a DAG so a downstream job only runs after its upstreams succeed. All-of or any-of fan-in, with cycle detection built in.
- Trigger downstream jobs on upstream success
- All-of or any-of fan-in semantics
- Cycle detection on every edge
fan-in: all · load runs after extract + transform succeed
Pricing
Simple pricing
Start free. Upgrade when you need tighter schedules, more jobs, or longer history.
Frequently asked questions
Everything you need to know before you start.
A crontab fires blindly — if a job fails, hangs, or never runs, you find out from your users. cronctl executes the job for you, verifies the response, retries on failure, deduplicates incidents, and alerts the right channel, with full run history and metrics.
Stop babysitting your cron jobs
Set up your first monitored job in under two minutes. Free plan, no card required.
Free forever plan · No credit card required