Skip to content
statusloopDocs
Healthchecks

Healthcheck examples

Cron, GitHub Actions, Node.js, and Python snippets for heartbeat pings.

Replace YOUR_SLUG with the slug from your healthcheck overview.

Cron (Linux / macOS)

Run at the end of your job script:

# /etc/cron.daily/backup.sh
./run-backup.sh
curl -fsS "https://app.statusloop.dev/ping/YOUR_SLUG"

Crontab one-liner:

0 2 * * * /opt/scripts/nightly-report.sh && curl -fsS "https://app.statusloop.dev/ping/YOUR_SLUG"

cron

0 2 * * * /opt/scripts/nightly-report.sh && curl -fsS "https://app.statusloop.dev/ping/YOUR_SLUG"

GitHub Actions

- name: Run nightly job
  run: ./scripts/nightly.sh

- name: Ping statusloop
  if: success()
  run: curl -fsS "https://app.statusloop.dev/ping/YOUR_SLUG"

.github/workflows/nightly.yml

- name: Run nightly job
run: ./scripts/nightly.sh

- name: Ping statusloop
if: success()
run: curl -fsS "https://app.statusloop.dev/ping/YOUR_SLUG"

Node.js

async function pingStatusloop() {
  const res = await fetch("https://app.statusloop.dev/ping/YOUR_SLUG", {
    method: "POST",
  });
  if (!res.ok) throw new Error(`Ping failed: ${res.status}`);
}

await runJob();
await pingStatusloop();

ping.js

await fetch("https://app.statusloop.dev/ping/YOUR_SLUG", { method: "POST" });

Python

import urllib.request

def ping_statusloop():
    urllib.request.urlopen("https://app.statusloop.dev/ping/YOUR_SLUG")

run_job()
ping_statusloop()

ping.py

import urllib.request
urllib.request.urlopen("https://app.statusloop.dev/ping/YOUR_SLUG")
Was this helpful?

On this page