Skip to content

Make workers start/stop/restart independently of each other

Mikhail Mazurskiy requested to merge ash2k/worker-manager into master

At the moment worker manager is used for receptive agents only. Each worker may keep running after getting a stop signal for quite some time while it wraps up in-flight requests. We don't want that to block other workers from (re)starting.

This MR ensures there is still ordering for each worker id, but no ordering of start/stop/restart behavior across workers with different ids. Shutdown still waits for all workers, but ApplyConfiguration() doesn't wait for any shutdown anymore. This is also a desired change because now the outer loop can keep polling the API to get new/updated receptive agents configuration and, potentially, starting/restarting/stopping some workers while workers with long running requests wrap up.

Merge request reports

Loading