Open source · Apache 2.0
Self-hosted
Free
- No limit and no reserved feature
- One container and one PostgreSQL database
- Your data stays on your server
Job monitoring · open source
Each job sends a heartbeat when it runs. When one goes missing, you are alerted within seconds, by email, Slack, Teams or a webhook.
Works with anything that can call a URL
crontab, systemd timers, Kubernetes CronJobs, GitHub Actions, Spring Boot, Quartz, Docker, Bash, Python, Node.js, PowerShell, Java
01The problem
Backups, exports, renewals, billing runs: when a scheduled job stops, no error is raised and nobody is told.
SilenceWatch is a dead man’s switch. It watches for what did not happen: if a job does not check in on time, the alert goes out.
02How it works
Your first alert in a few minutes.
Set a frequency or a cron expression, a time zone and the delay you tolerate. See job monitoring.
One curl at the end of the job. See the ping API.
0 2 * * * backup.sh && curl -fsS https://app.silencewatch.com/p/<ping-key>No ping in time: an incident opens and your channels are notified. The next ping resolves it.
Ready-to-copy examples for crontab, systemd, Docker, Kubernetes and GitHub Actions.
03Features
A period or a cron expression, with a time zone and a grace period. See cron monitoring.
A late check is spotted within seconds.
Email, webhook, Slack, Teams and Discord, each testable in one click.
One dependency: every @Scheduled job, Celery, django-celery-beat or APScheduler task, and Laravel scheduled task declares itself. See Spring Boot, Python and Laravel.
Every ping, incident and alert, searchable.
Manage checks through the API, with project-scoped keys.
04Integrations
The starter reads your @Scheduled tasks and Quartz jobs at startup, declares them, and pings around every run. It never blocks your job. Python (Celery, django-celery-beat, APScheduler) and Laravel have the same: see Python monitoring, Laravel monitoring and Spring Boot monitoring.
05Use cases
Anything that must run regularly and whose absence matters. If it can call a URL, it can be monitored. See what a dead man’s switch is.
06Pricing
Run SilenceWatch on your own server for free, or let us run it. The plans below are for the hosted service.
Open source · Apache 2.0
Free
Hosted by us
Nothing to install. Start free, and move up when you need more checks.
€0/ month
€4.99/ month
€19.99/ month
07Questions
Checking that scheduled jobs, cron jobs included, actually run. Each job pings SilenceWatch when it finishes, and you are alerted when a ping does not arrive.
The self-hosted edition is free and open source (Apache 2.0), with no limit and no reserved feature. The hosted service has a free plan, and paid plans from €4.99 a month when you need more checks.
Use a dead man’s switch: the job pings on every run, and SilenceWatch alerts you when a ping is missing. It is the only way to detect an absence.
Yes. Anything that can make an HTTP request works: crontab, systemd, Kubernetes, GitHub Actions, scripts.
Yes. The Spring Boot starter discovers @Scheduled methods and Quartz jobs, the Python library reads Celery beat, django-celery-beat and APScheduler jobs, and the Laravel package reads the Laravel scheduler; all of them ping around every run, with no per-job configuration.
Yes, with Docker: one container and one PostgreSQL database, under the Apache 2.0 licence.
Email, webhook (signed with HMAC-SHA256), Slack, Microsoft Teams and Discord, each testable from the interface.
Get alerted by email, Slack, Teams, Discord or any webhook.