Skip to content

Cron check quickstart

By the end of this guide you’ll have a cron check expecting a ping every 24 hours, your job sending the ping, and a verified failure → alert path.

  1. Monitors → New → Cron check.

  2. Configure:

    • Friendly name: Nightly backup.
    • Expected interval: 1 day (86400 seconds).
    • Notification groups: pick your default group.
  3. Save. The check page now shows a unique ping URL at the top.

Add a single line to the end of your job, after the work has succeeded.

Terminal window
# Bash — at the end of nightly_backup.sh
PING_URL="https://ping.siteqwality.com/<account-id>/<cron-job-id>"
if pg_dump $DB > backup.sql && aws s3 cp backup.sql s3://backups/; then
curl -fsS --max-time 10 --retry 3 "$PING_URL" || true
fi
# Python
import requests
PING_URL = "https://ping.siteqwality.com/acct_abc123/job_xyz789"
def ping():
try:
requests.post(PING_URL, timeout=10)
except requests.RequestException:
pass # never let the ping failure kill the job
# At the end of your job
do_backup()
ping()
// Node
const PING_URL = "https://ping.siteqwality.com/acct_abc123/job_xyz789";
async function ping() {
try {
await fetch(PING_URL, { method: "POST" });
} catch {
// intentional swallow — don't let ping failures break the job
}
}
await doBackup();
await ping();

The check’s Recent pings list shows each received ping with timestamp and source IP within seconds.

To verify the alerting path:

  1. Edit the cron check, drop check_interval_seconds to 300 (5 minutes).
  2. Don’t ping for 10 minutes.
  3. The check flips to failed, an incident opens, your notification group fires.
  4. Send a ping manually (curl <ping-url>). The check flips back to success and the incident auto-resolves.

Don’t forget to set the interval back to 86400 when done testing.