Open source · MIT

Pulse

A dead man's switch for cron jobs: the job pings its URL, and silence past the deadline means failure and an alert.

v1.0.0 Silence is the signal
Go 1.26chiSQLitehtml/templateDockerApple HIG
Pulse

A missing signal is the signal

Ordinary monitoring answers whether the server is up. It says nothing about the nightly backup that stopped running three weeks ago. You find that out when you try to restore.

Pulse watches from the other side. Every check gets its own URL. The job calls it after a successful run. If the call does not arrive within the schedule plus a grace period, the check goes down and an alert goes to Telegram or a webhook.

What's inside

Two schedule kinds

A plain period (every 24 hours) or a cron expression. The grace period separates a job running late from a job that never finished.

Start, success, failure

A /start signal measures the run's duration, /fail reports an error explicitly instead of waiting for the deadline.

Job output in the feed

The script's log travels in the request body and is shown next to the event, so nobody logs into the server to find the reason.

A console, not a grid

The main screen answers what just happened: the event feed on the right, checks on the left as filters.

Alerts

Telegram and arbitrary webhooks. A channel is self-contained: token and address live together, with no global settings.

One binary

Go and SQLite: no external services, no queue, no scheduler. A background goroutine sweeps deadlines every 30 seconds.

Screenshots

Console: event feed and checks with statuses
Console: event feed and checks with statuses
Check page: integration snippet and signal history
Check page: integration snippet and signal history
Form: period or cron, grace, tags
Form: period or cron, grace, tags
Notification channels
Notification channels
Console in the dark theme
Console in the dark theme
Signal history in the dark theme
Signal history in the dark theme

Installation

git clone https://github.com/dripips/pulse.git cd pulse docker compose up -d

Have a project or idea?

Write to me and we will talk the task through.