Create a monitor
Choose the job’s expected interval, grace period, and maximum runtime. PulseWatch gives you a private ping URL.
Monitoring for unattended work
Logs can tell you when a job fails. They cannot tell you when it never ran. PulseWatch watches cron jobs, scripts, and automations from the outside, then alerts you when they go missing, crash, or get stuck.
Free for 2 monitors · No credit card · No SDK
No successful run within the expected window.
How it works
Keep your existing scheduler and code. Add a lightweight start and outcome signal.
Choose the job’s expected interval, grace period, and maximum runtime. PulseWatch gives you a private ping URL.
Call the URL when work starts, succeeds, or fails. It works from any language that can make an HTTP request.
The independent watchdog evaluates monitors every 5–30 minutes, depending on plan, and alerts on state changes.
No monitoring dependency
A short timeout and a guarded ping keep a monitoring outage from interrupting the job being observed.
Read the complete integration guidefrom urllib.request import urlopen
PING_URL = "https://pulsewatch.example/ping/example-token"
def ping(outcome):
try:
urlopen(f"{PING_URL}/{outcome}", timeout=5).close()
except Exception:
pass
ping("start")
try:
your_existing_job()
except Exception:
ping("fail")
raise
else:
ping("success")
Built for solo operators
Cron jobs, scheduled scripts, scrapers, data pipelines, and AI workflows—anything that should run without you watching.
One notification when a state changes, one when it recovers. Ordinary alerts are suppressed while a monitor is flapping.
The separate watchdog catches the failure no in-process logger can: a job that never started.
The product
Current health, failure context, and recent runs stay ahead of configuration.
Simple pricing
$0 / month
Try it out, no card needed.
$7 / month
For developers running several automations.
$19 / month
For power users with many pipelines.