Does Kombu support channel guarantee mode of confirm? #1995
Replies: 2 comments
-
It would seem I need to call:
Once doing so I properly see the correct mode set for the channel. My follow up question is what is the best way to ensure this mode is used for all channels associated with a https://docs.celeryq.dev/projects/kombu/en/stable/reference/kombu.mixins.html#kombu.mixins.ConsumerProducerMixin class? |
Beta Was this translation helpful? Give feedback.
-
I have the exact same question as you. I'm looking to achieve at-least-once processing with RMQ and I think the Confirm mode is necessary for this. I'm not finding this kombu/kombu/transport/pyamqp.py Line 102 in dcb43be How/where did you find this function? Personally I am not using the mixin, so this solution would possibly be enough for me, though I would also want some guarantee that FWIW you may have an easy time moving away from the mixin. See this writeup (not mine and kudos to the author): https://medium.com/python-pandemonium/building-robust-rabbitmq-consumers-with-python-and-kombu-part-1-ccd660d17271 |
Beta Was this translation helpful? Give feedback.
-
From what I've read in documentation if using
pyamqp
transport I should be able to set theconfirm_publish
arg toTrue
to ensure that any channels that get opened with that connection will use the channel guarantee modeConfirm
.I tried this against a local RMQ cluster I had by running the following block of code:
I then looked at the RMQ management UX at a list of connections/channels for that particular vhost and see that a connection and channel were created. However the channel does NOT show the correct mode of
Confirm
. Am I missing something in my connection declaration?Details about packages used for testing:
I saw this issue which seemed relevant.
Beta Was this translation helpful? Give feedback.
All reactions