Configure the task scheduler
Elastic Cloud Serverless projects are autoscaled environments, fully managed by Elastic and available on Elastic Cloud. Availability This functionality is generally available and ready for production usage. Serverless interfaces and procedures might differ from classic Elastic Stack deployments. The Elastic Stack includes Elastic's core products such as Elasticsearch, Kibana, Logstash, and Beats. Availability This functionality is generally available and ready for production usage. Unless stated otherwise on the page, this functionality is available when your Elastic Stack is deployed on Elastic Cloud Hosted, Elastic Cloud Enterprise, Elastic Cloud on Kubernetes, and self-managed environments. This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.
Serverless
Generally available
Stack
Generally available
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.
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.
The time zone for the scheduler. By default the scheduler uses localtime.
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.