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/