-
Notifications
You must be signed in to change notification settings - Fork 230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add shutdown options for the client classes #1917
Comments
Hey, any update on this, when it's planned to have proper |
Hi @feywind, is there a time estimate planned for this? This is something we need to be able to do a graceful shutdown. |
For us, the ideal solution would be this point ‘Wait for everything to finish dequeuing’. |
@mcasarrubios Thanks for the input. Right now you can already do the basic "wait for dequeue" using these methods:
The extra thing we want to add is allowing options for how to handle outstanding data (e.g. drop everything on the floor and quit immediately). |
Hey @feywind, thank you for your response. Could you please share an example of how to do this? I can't get it to work. This is the flow I am trying:
Everything works as expected until step 5. When we close the subscriptions no new messages come in for processing. |
What we'd really like to see is a way to gracefully shut down a subscriber client, without causing a large number of messages to expire and be redelivered. E.g., a way to stop incoming messages and wait for the complete inventory of messages to be drained. This was originally requested in this issue: #725. At our company, we can no longer rely on expiration rates as an indicator of our subscribers' health, since normal activity like scale-downs and deployments cause subscribers (running, in our case, in Kubernetes pods) to shut down, causing a spike in expired messages each time. This obscures our ability to see when messages are expiring due to an unwanted cause. |
We are planning to add updates to the close() methods to allow for a more deterministic shutdown process. This will take care of issues like these:
#1860
#1856
#1665
#1648
The three options boil down to this:
The text was updated successfully, but these errors were encountered: