CronHook

Cron job monitoring

Know when your cron jobs stop running.

CronHook monitors your scheduled tasks, background scripts, and containers. Get alerted on Slack, Discord, or Email when a ping is missed.

5 Monitored jobs free forever
Quick setup
No credit card
99.99% uptime
# Add curl ping to your crontab:
*/5 * * * * /app/backup.sh && curl -fsS \
  https://cronhook.site/ping/your-check-id

# CronHook alerts Slack & Email if
# the ping fails to arrive within grace period.
# Python scheduled task ping
import requests

try:
    run_daily_etl_job()
    requests.get("https://cronhook.site/ping/your-check-id", timeout=10)
except Exception as e:
    # Optional: send error payload to CronHook
    requests.post("https://cronhook.site/ping/your-check-id/fail", json={"error": str(e)})
// Node.js / TypeScript background worker
async function handleQueue() {
  try {
    await processBatchJobs();
    await fetch("https://cronhook.site/ping/your-check-id");
  } catch (err) {
    console.error("Job execution failed:", err);
  }
}
# Docker container health check / entrypoint script
#!/bin/sh
/usr/local/bin/run-cleanup.sh

# Signal successful execution
curl -fsS --retry 3 https://cronhook.site/ping/your-check-id
# GitHub Actions Workflow Step
- name: Ping CronHook Monitor
  run: |
    curl -fsS https://cronhook.site/ping/your-check-id

Live demo

Test failure detection in real time

See how CronHook detects a missed ping and sends alerts.

Operational production-backup.sh
Schedule Every 5 minutes
Grace Buffer 1 minute
Last Ping 12s ago (200 OK)
Real-time Dispatch Pipeline Latency: 0ms
00:00:00 Monitor active. Waiting for next cron heartbeat...

How it works

Add one line to your script.

No servers, no agents, no polling loops. Just an HTTP request at the end of your job.

1

Create a check

Sign up in 10 seconds. Name your script or container, set your schedule interval, and get a unique ping URL.

2

Append a curl ping

Append curl cronhook.site/ping/check_id to your cron file, Python script, or Docker entrypoint.

3

Get instant alerts

If your job misses a ping or crashes silently, CronHook alerts your team on Slack, Discord, Email, or Webhooks.

Features

Built on Cloudflare's edge

Each monitor runs inside its own Durable Object with native alarm scheduling. No database polling.

Multi-Channel Alerts

Route notifications instantly to Slack webhooks, Discord channels, Email, or custom HTTP webhooks with failure payloads.

Configurable Grace Periods

Buffer job execution variance from 1 minute to 24 hours. Prevent false alarms caused by temporary database spikes.

Public Status Dashboards

Share live status with your users or team. Embed status badges in docs and track 30-day uptime SLAs.

Incident Timeline Logs

Every outage is logged with exact downtime durations, failure timestamps, HTTP headers, and recovery confirmations.

Free tier

5 monitored jobs with unlimited pings, email and Slack alerts. No credit card required.

FAQ

Common questions

How does CronHook detect failures without polling? +

Every check created on CronHook provisions an isolated Cloudflare Durable Object actor. When a check is configured, an internal alarm timer is scheduled on Cloudflare's edge network for the target period plus your grace buffer. When your job pings the URL, the alarm is extended. If the ping doesn't arrive before the alarm fires, the actor triggers your alert webhooks instantly.

What HTTP request methods and ping formats are supported? +

CronHook supports standard GET, POST, and HEAD requests. You can append HTTP ping calls with curl, wget, Python requests, or any HTTP client. You can also send optional JSON execution logs or exit codes in the POST body to store debugging output for failed runs.

Can I monitor Docker containers, Kubernetes CronJobs, or GitHub Actions? +

Yes, CronHook is agentless. As long as your environment has outbound internet access to perform an HTTP request, you can monitor any script, container, Lambda function, or CI/CD workflow step.

What are the limits on the free plan? +

Our free tier includes 5 active monitored jobs (with unlimited incoming ping requests), minimum 5-minute schedule intervals, 1-minute minimum grace buffer, 30-day incident log history, and alerts via Email, Slack, and Discord. No credit card is required.

Start monitoring your cron jobs

Create a free account and add a ping URL to your script.

Free plan available — no credit card required