-
Notifications
You must be signed in to change notification settings - Fork 186
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
Issue with using RobustQueue.consume() in latest version vs 9.0.7 #626
Comments
You don't have a strong reference to QueueIterator keeps a strong reference to its queue. Edit: 663807c is the first commit after the 9.0.7 release. |
I'm also hitting this, but even in As a workaround I'm now using |
There seems to be a change in the way
RobustQueue.consume()
works when used in connection pooling scenarios in version9.4.1
(latest atm). TheRobustChannel
and the declaredRobustQueue
seem to be getting restored, but the consumers inside the declared queue are not getting restored after a broker restart.Here is an example to reproduce:
publisher.py
consumer.py
In the above example, the consumption will not get restored after a broker restart, but if we use an older version fe.
9.0.7
it seems to work fine.!!! Additional Notes!!!
RobustQueueIterator
seems to solve the issue in both versions (9.0.7
andlatest
). Replaceawait queue.consume(process_message)
with:But I am not sure whether or not to switch to this approach since it is not mentioned in the docs what the difference is between using
RobustQueueIterator
, and between using simplyRobustQueue.consume()
to handle incoming messages2. I am using this version of RabbitMQ
rabbitmq:3.8-management-alpine
The text was updated successfully, but these errors were encountered: