Skip to content

Monitor your first scheduled job

You need an Editor or Admin role and access to the job’s configuration.

  1. Create a check and choose Ping (heartbeat).
  2. Name it after the job, such as Nightly backup.
  3. Choose an interval or cron schedule matching the job. For cron, choose the same timezone used by the scheduler.
  4. Set a grace period that accommodates ordinary runtime and scheduling jitter.
  5. Save and open its locations. A location named default is created for you.
  6. Copy that location’s heartbeat URL into a private environment variable used by the job. Do not use the check’s public status URL.
  7. Send a heartbeat after successful completion:
Terminal window
backup-command && curl --fail --silent --show-error "$PINGSTACK_PING_URL"

Set PINGSTACK_PING_URL locally to the URL copied from the app. It is an operational credential; do not commit it or paste it into an AI conversation.

Heartbeat locations named EU worker, US worker and default, each showing an Up status and a collapsed Show setup control.

Each sender has its own location. Expand Show setup privately to copy its heartbeat URL; setup sections remain closed here so no credentials are shown.

The location becomes up and its next expected check-in is calculated from the received heartbeat. After an established location misses that deadline plus the grace period, it becomes late and contributes to the check’s quorum. A location that has never checked in remains pending rather than proving health.

Only report completion when the work actually succeeds. A heartbeat URL returning HTTP 200 means the ingestion request was accepted, not that your backup succeeded. Exit codes are recorded but do not themselves mark a check down.

See heartbeat recipes and scheduling for cron and multiple senders.