Skip to content

Job monitoring · open source

Your jobs don’t tell you when they stop. We do.

Each job sends a heartbeat when it runs. When one goes missing, you are alerted within seconds, by email, Slack, Teams or a webhook.

Every dot is a job. When one goes quiet, you know.

  • Free up to 10 checks
  • Open source, Apache 2.0
  • Spring Boot, Python, Laravel

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

A job that stops silently looks like a job with nothing to do

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

Job monitoring in three steps

Your first alert in a few minutes.

  1. 01

    Declare the job

    Set a frequency or a cron expression, a time zone and the delay you tolerate. See job monitoring.

  2. 02

    Ping when it finishes

    One curl at the end of the job. See the ping API.

  3. 03

    Get alerted

    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

What SilenceWatch does

  • 01

    Cron and intervals

    A period or a cron expression, with a time zone and a grace period. See cron monitoring.

  • 02

    Detection every 10 seconds

    A late check is spotted within seconds.

  • 03

    Alerts where you are

    Email, webhook, Slack, Teams and Discord, each testable in one click.

  • 04

    Spring Boot, Python and Laravel

    One dependency: every @Scheduled job, Celery, django-celery-beat or APScheduler task, and Laravel scheduled task declares itself. See Spring Boot, Python and Laravel.

  • 05

    History and incidents

    Every ping, incident and alert, searchable.

  • 06

    REST API and keys

    Manage checks through the API, with project-scoped keys.

04Integrations

Spring Boot: nothing to declare by hand

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

06Pricing

Open source, or hosted for you

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

Self-hosted

Free

  • No limit and no reserved feature
  • One container and one PostgreSQL database
  • Your data stays on your server

Hosted by us

Nothing to install. Start free, and move up when you need more checks.

  • Free

    €0/ month

    • 10 checks
    • 2 projects
    • 2 alert channels per project
    • 7 days of history
  • Pro

    €4.99/ month

    • 100 checks
    • 5 projects
    • 5 alert channels per project
    • 30 days of history
  • Business

    €19.99/ month

    • 1000 checks
    • 20 projects
    • 20 alert channels per project
    • 90 days of history
Try it outAll the detailsPrices are in euros, per month, taxes included.

07Questions

Frequently asked questions

What is job monitoring?

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.

Is SilenceWatch free?

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.

How do I monitor a job that does not crash but stops running?

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.

Does SilenceWatch work with crontab, systemd and Kubernetes?

Yes. Anything that can make an HTTP request works: crontab, systemd, Kubernetes, GitHub Actions, scripts.

Can scheduled tasks be monitored automatically?

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.

Can I self-host SilenceWatch?

Yes, with Docker: one container and one PostgreSQL database, under the Apache 2.0 licence.

Which alert channels are available?

Email, webhook (signed with HMAC-SHA256), Slack, Microsoft Teams and Discord, each testable from the interface.

Your next silent failure shouldn’t be silent

Get alerted by email, Slack, Teams, Discord or any webhook.