uplance.cloud
FeaturesPricingSecurityAPIHelp
Sign inStart free

Uplance · Monitor types · Heartbeat

Monitor cron jobs and background work

Some things only fail by not happening. A heartbeat monitor watches for silence, which is the one failure an ordinary check can never see.

Start freeSee pricing

Free for 10 monitors · no credit card

The problem

The nightly backup stopped running in March. Nothing errored, nothing alerted, nothing appeared in a log anyone read — the job simply stopped being scheduled.

You find out in July, when you need the backup.

What the check looks at

  • Silence

    The job calls a URL when it finishes; if the call doesn't arrive within the window you set, that's the alert.

  • Explicit failure

    Add ?status=down to report a failed run immediately, instead of waiting for the window to lapse.

  • Duration

    Send &ping= with the run time to catch the job that still finishes but now takes four hours.

  • Context

    Send &msg= with a line of output, and it's attached to the check in the log.

At the end of a nightly backup script

curl -fsS "https://uplance.cloud/api/push/<token>?msg=backup%20ok" || true

# or report a failure explicitly
pg_dump … || curl -fsS "https://uplance.cloud/api/push/<token>?status=down&msg=pg_dump%20failed"

And the alert actually arrives

Most monitoring tools are fine until the one time the alert doesn't arrive. Uplance is built so that can't happen quietly.

  • Every alert is written to an outbox before it is sent, and retried for about fifty minutes. A restart doesn't lose it.
  • Once a week, a real test event is sent through every channel you've configured, and you're told which ones failed.
  • If the alert pipeline is in trouble, the dashboard says so — it isn't buried in a log file.
  • If the checker itself stops, the health endpoint returns 503 so an outside heartbeat can page you, and your status page says monitoring has stopped instead of showing stale green.

Common questions

What if the job runs but the curl call fails?
Ending the line with || true keeps a failed heartbeat from failing your script. You'd get one alert about a job that actually ran — annoying once, far better than silence about a job that didn't.
Can I monitor a job that runs every minute?
Yes. The window is yours to set, from a minute to a month, and Pro checks down to one minute elsewhere too.
Does this work from a machine with no inbound access?
That's the usual case. The job makes an outbound HTTPS request; nothing needs to reach your machine.

Also monitored

  • Monitor Postgres, MySQL and Redis
  • Monitor whether your Discord bot is online
  • Monitor SSL certificate expiry

Know it's down before your customers do.

Start free

10 monitors, 30 days of history, no credit card

uplance.cloud

Uptime monitoring, status pages and alerts that can't fail silently.

Product

  • Features
  • Pricing
  • Help
  • Changelog
  • API
  • Create an account

Monitoring

  • Minecraft servers
  • Discord bots
  • Cron jobs
  • SSL certificates
  • Databases

Trust

  • Security
  • Report a vulnerability
  • Service health
  • Contact

Legal

  • Terms
  • Privacy
  • Refunds and cancellation
  • Cancel contracts here
  • Report illegal content
  • Acceptable use
  • Data processing agreement
  • Imprint

© 2026 Uplance