-
Notifications
You must be signed in to change notification settings - Fork 4
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
Bump aio pika to 8.1.8 #113
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #113 +/- ##
===========================================
- Coverage 90.32% 87.98% -2.33%
===========================================
Files 16 16
Lines 1146 1156 +10
===========================================
- Hits 1035 1017 -18
- Misses 111 139 +28
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. |
@muhrin could you have a look at these changes? A critical change I am not confident in is that since Also pinning @sphuber @chrisjsewell for comment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think there's some problems with some of this PR. I'll come and have a chat and we can figure it out together.
kiwipy/rmq/tasks.py
Outdated
def _outcome_destroyed(self, outcome_ref): | ||
# This only happens if someone called self.process() and then let the future | ||
# get destroyed without setting an outcome | ||
assert outcome_ref is self._outcome_ref | ||
# This task will not be processed | ||
self._outcome_ref = None | ||
self.requeue() | ||
self._subscriber.loop().create_task(self.requeue()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why does it call requeue()
using create_task
when requeue()
itself uses the loop_scheduler
to await
? Shouldn't this just be a requeue()
call?
message_exchange = f'{__file__}.{shortuuid.uuid()}' | ||
task_exchange = f'{__file__}.{shortuuid.uuid()}' | ||
task_queue = f'{__file__}.{shortuuid.uuid()}' | ||
message_exchange = f'{shortuuid.uuid()}' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why did you remove the __file__
part? Sometimes, I found it useful to have the file in there so that when looking at the RMQ
web console I could tell which test the queues/exchanges belong to.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is because pamqp
will check the exchange channel name, special characters such as _.*/
are not allowed.
message_exchange = f'{__file__}.{shortuuid.uuid()}' | ||
task_exchange = f'{__file__}.{shortuuid.uuid()}' | ||
task_queue = f'{__file__}.{shortuuid.uuid()}' | ||
message_exchange = f'{shortuuid.uuid()}' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar to my comment above about __file__
Hi @muhrin, it's been so long that I think that probably better to set a quick meeting and check this together again. |
Superseded by #114 |
pamqp
will check the exchange channel name,_.*/
are not allowed. Usinguuid
only.ack
andnack
which called whenrequeue
task are async function inaio-pika