Configure the task scheduler

edit

You specify options under heartbeat.scheduler to control the behavior of the task scheduler.

Example configuration:

heartbeat.scheduler:
  limit: 10
  location: 'UTC-08:00'

In the example, setting limit to 10 guarantees that only 10 concurrent I/O tasks will be active. An I/O task can be the actual check or resolving an address via DNS.

limit

edit

The number of concurrent I/O tasks that Heartbeat is allowed to execute. If set to 0, there is no limit. The default is 0.

Most operating systems set a file descriptor limit of 1024. For Heartbeat to operate correctly and not accidentally block libbeat output, the value that you specify for limit should be below the configured ulimit.

location

edit

The time zone for the scheduler. By default the scheduler uses localtime.

job.limit

edit

On top of the scheduler level limit, Heartbeat allows limiting the number of concurrent tasks per monitor/job type.

Example configuration:

heartbeat.jobs:
  http:
    limit: 10

In the example, at any given time Heartbeat guarantees that only 10 concurrent http tasks will be active.

These limits can also be set via the environment variables SYNTHETICS_LIMIT_{TYPE}, where {TYPE} is one of HTTP, TCP, and ICMP.