cronjob-monitoring

Cronjob Monitoring Playbook: Free Scheduled Task Observability

3 min read
September 14, 2025

Cron jobs deserve ruthless monitoring. Here’s the free, opinionated playbook to keep every scheduled task visible and honest.

Cronjob Monitoring Playbook: Free Scheduled Task Observability

Cron jobs are the janitors of your platform. When they fail, customer-facing uptime numbers stay green while data rots. exit1.dev fixes that with a free heartbeat monitor that refuses to miss a job. If you want "set it and forget it" operations, go elsewhere. If you want ruthless visibility, read on.

Step 1: Inventory the jobs you actually rely on

Most teams don’t know how many scheduled tasks they run. List them. Tag every cronjob, queue worker, and timed Lambda. If it changes state or data, it gets a monitor. Skip this and you’ll only find out what exists when something burns down.

Use our website monitoring checklist as a baseline. Then layer cron-specific metadata: cadence, owner, last rewrite, timeout, blast radius.

Step 2: Wire up heartbeats in minutes

  1. Create a new monitor in exit1.dev and choose Heartbeat / Cron.
  2. Drop the generated URL into your job. Curl it when the run finishes.
  3. Set the expected interval tighter than the job schedule. If the job runs hourly, enforce 65 minutes, not 90.

You now have a watchdog that screams when the job disappears. Pair it with our HTTP hook guide to fan out start/finish pings if you want redundancy.

Step 3: Validate payloads, not just presence

Heartbeat-only monitoring is lazy. Send JSON alongside the ping with fields like duration_ms, records_processed, and result. exit1.dev lets you assert JSONPath expressions so you catch "succeeded": false states before support tickets pile up.

Add a second synthetic monitor to the API that the job feeds. If a nightly import fails, the next request should fail too. Intro to website monitoring shows how to chain checks without getting buried in noise.

Step 4: Route alerts like you mean it

Route business-critical jobs to PagerDuty or Opsgenie. Ship "nice to have" scripts to Slack or Discord. Because the monitors are free, you can split them by team or service. Don’t throw everything into a single #alerts channel and hope the right person notices.

Step 5: Report the wins

Exit1.dev stores run history forever. Export cron stats with our CSV warehouse workflow in Logs to Warehouse. Show leadership how many jobs tried to self-destruct and how fast you responded. SLO reports aren’t just for customer-facing incidents anymore.

Step 6: Keep the dashboards honest

Pin your critical jobs inside the uptime dashboard next to customer-facing monitors. The point is one cockpit: web, API, workers, and scheduled tasks in the same place. If you’re still flipping between crontabs and Grafana, you’re wasting time.

Set this up once and cronjob failures stop being surprises. exit1.dev gives you the guardrails. Your team just has to use them.

Morten Pradsgaard is the founder of exit1.dev — the free uptime monitor for people who actually ship. He writes no-bullshit guides on monitoring, reliability, and building software that doesn't crumble under pressure.