Hello,
We are pleased to announce that service-runner v2.6.0 has been released. The important update in this release is the ability to start workers concurrently using the `startup_concurrency` config stanza~[1].
Its default value is 1, which keeps the start-up procedure the same as pre-v.2.6.0. When the value is greater than 1, the start-up procedure is as follows. The first worker is started alone. After the successful completion of its start-up, service-runner starts the rest of the workers (`num_workers - 1` of them) in batches of `startup_concurrency` workers until all of them are up and running.
Doing so allows for a faster start-up process of your service and consequently offers a more predictable behaviour of the service during deploys/restarts. Note, however, that starting workers in batches incurs the penalty of increased resource consumption during the start-up process. Therefore, we recommend values between 2 and 4. In order to make use of this feature simply update your dependency to ^2.6.0 and add the config stanza to your production configuration file~[2].
On behalf of the Services team, Marko Obrovac, PhD Senior Services Engineer Wikimedia Foundation
[1] https://github.com/wikimedia/service-runner#config-loading [2] eg. https://gerrit.wikimedia.org/r/#/c/427466/