Heartbeats

Track your automated jobs to make sure they are running

What is a Heatbeat?

A heartbeat is a commonly used terms in site monitoring (sometimes also called a pingback). It is a really simple way of checking if an automated job is running by calling a URL that we provide you with. If we do not see you trigger that URL in the timeframe you specify, we alert you!

Heartbeats in Intermission require just 3 things.

Name

Give your Heartbeat monitor a name that you will recognise. This name pulls through to the Notifications we will send you if the Heartbeat goes missing.

ETA

Let us know when we should expect to see you triggering this URL (generated at the end of the process). It can be every x seconds, minutes, hours or days.

Grace Period

This is the amount of time we wait before notifying you that this heartbeat went missing. For example, if you tell us that you expect this job to run every hour, but sometimes it can take a little longer to complete, you might give it a 15 minute grace period. This means that if we still do not hear from you after 75 minutes we will trigger the alert.

ETA + Grace Period = total time before notification is triggered

Once you have saved the Heartbeat you can go and view it to see the unique URL that you need to be using. It will look something like this:

https://www.useintermission.com/api/v1/heartbeat/{uuid}

You can make both POST and GET requests to this URL however neither method takes any parameters.

In order to call a URL you must authenticate the request by creating an API key and using it as a Bearer Token.

Here is a typical example using the laravel framework

$schedule->command('run:task')
            ->hourly()
            ->onSuccess(function () {
                Http::withToken('my-api-token')
                ->get('https://www.useintermission.com/api/v1/heartbeat/{uuid}');
            });

Last updated