How to update the time taken to spin up a new runner in autoscaler
Platform Notice: Cloud Only - This article only applies to Atlassian apps on the cloud platform.
Summary
This document covers steps to reduce the time taken to start new runner while spinning up runners using runner autoscaler
Solution
To ensure optimal functionality, please review the configuration settings in your template, specifically the runners_config.yaml file. This file is located in the "bitbucketpipelines/runners-autoscaler" repository and is essential for configuring the runner autoscaler.
constants:
default_sleep_time_runner_setup: 10 # value in seconds
default_sleep_time_runner_delete: 5 # value in seconds
runner_api_polling_interval: 15 # value in seconds
runner_cool_down_period: 300 # value in secondsFollowing parameters on the template are responsible for the delay caused while spinning up new runner
default_sleep_time_runner_setup: Defines the amount of time the autoscaler waits after initiating a runner setup operation (such as creating or starting a runner)
default_sleep_time_runner_delete: Specifies the duration the autoscaler waits after initiating the delation of a runner
runner_api_polling_interval: Defines frequency at which the autoscaler polls the Bitbucket Pipelines API to check for pending jobs or runner statuses
runner_cool_down_period: Represents the minimum time the autoscaler waits before shutting down a runner after it becomes idle
The parameters runner_cool_down_period and runner_api_polling_intervalcontrol the runner availability. It is recommended to reduce the runner_cool_down_period to enable quicker online transitions between runners. Additionally, adjusting the runner_api_polling_interval can facilitate more frequent status checks, leading to faster transitions. It is also advisable to check for any spikes or throttling that may be affecting runner setup, especially if monitoring metrics are in place within your infrastructure.
Was this helpful?