feat: new listen strategy with worker-side heartbeats #308
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
We previously have been running a periodic update engine-side for each worker connected to the server-side streaming RPC
Listen
. This is fine when connecting to the engine directly but is causing issues in proxied setups where sometimes the proxy is keeping connections open for longer than the heartbeat duration. This makes it look like workers are alive when they should be disconnected.This PR adds support for a
Heartbeat
method that runs async on a client-side timer.ListenV2
is the preferred RPC for connecting to the engine, though we have keptListen
for backwards-compatability.Type of change