Automate a cron job monitor that alerts when a scheduled task goes quiet

A cron job that stops running makes no noise. A scheduled agent reads your heartbeat monitor each day for checks that are late or down, lists what missed its window and for how long, and drafts a note that its department head reviews and you approve.

What you’ll set up

Connections

Heartbeat monitor read access · Required

The team requests read access to your monitor when you add the job. Example: Healthchecks.io.

Upgrades

Report delivery (channel or inbox)

Delivers the approved report to your channel or inbox.

Inputs

Monitor projects to read · Required

List, no default

Ignore lateness under (minutes) · Optional

Number, default 10

Ready by · Required

Time, default 08:00

Brief · Required

Text, prefilled and editable during setup.

Runs

Runs every day at 08:00

Done by Research analyst

You approve before anything goes out.

Set up this job

You approve every report · Free to start

How it runs

One agent does the work. Its department head reviews it, then you approve.

  1. 1Research analyst

    Runs daily at 08:00 and prepares the report from your connected sources.

  2. 2CTO · Review

    The department head reviews the report before it reaches you.

  3. 3You

    You approve before anything goes out.

What you get

Sample, not live dataSample daily cron job report (Sample, not live data)

Sample, not live data. The job names, schedules and times are invented.

Scheduled jobs, Tuesday (sample)

12 checks: 10 up, 1 late, 1 down.

JobExpectedLast pingState
nightly-backupdaily 02:002 days agodown
invoice-exportdaily 06:0040 min latelate

For your decision

  1. Start with the backup host.
  2. Confirm the export is still running.

Why scheduled jobs fail silently

A web request that fails shows up in logs and error trackers. A job that never starts shows up nowhere, because there is nothing to log. Heartbeat monitoring turns that around: each job pings a URL when it runs, and the monitor raises an alarm when a ping fails to arrive. Healthchecks.io, used here as the example, describes its check states as new, up, late, down and paused.

Late versus down: period and grace time

Each check has an expected period or cron schedule, plus a grace time. In the Healthchecks.io docs example, a check with a one-hour period and five minutes of grace, last pinged at 12:00, turns late at 13:00 and down at 13:05. Late means the signal has not arrived yet. Down means the grace time ran out and alerts go out. Separating the two stops a slow run from looking like a dead one.

How the scheduled job works

You add the job and grant it read access to the monitor; the team requests the access when you add it. Healthchecks.io offers read-access API keys that can list checks and get a single check. Each day a scheduled agent lists your checks, reads each status and last ping time, keeps those that are in grace or down, sorts by how long each has been quiet, and sets paused checks aside so deliberate pauses do not look like failures. Jobs can also append /start or /fail to their ping URL; where a job uses them the report shows a run that began and never finished, without guessing the cause.

Review and approval

The CTO agent, as department head, reviews the report before it goes out: is each job really late rather than paused, are durations right for its schedule, is any suggested starting point reasonable. Then you approve, edit or skip it. Your monitor keeps sending its own alerts, so this is a recap, not your sole alarm.

Questions

Start with one report

Set up this job

You approve every report · Free to start