Preserve order of return values from groups#4858
Preserve order of return values from groups#4858lpsinger wants to merge 6 commits intocelery:masterfrom
Conversation
026c813 to
a1a3abc
Compare
auvipy
left a comment
There was a problem hiding this comment.
unit tests are failing, so need change in tests?
9cf9c72 to
4db6d6b
Compare
|
The unit tests are passing now, but the integration tests are still failing. |
4db6d6b to
5d231ed
Compare
Codecov Report
@@ Coverage Diff @@
## master #4858 +/- ##
=========================================
Coverage ? 82.91%
=========================================
Files ? 142
Lines ? 16175
Branches ? 2022
=========================================
Hits ? 13412
Misses ? 2565
Partials ? 198
Continue to review full report at Codecov.
|
|
@lpsinger this is nice, but a rather extensive change. It also seems backwards incompatible, since the Redis structure is changed from List to Sorted Set, so it needs some more thought. I will have a look in the next few days, thanks. |
e0d8a1a to
511c7f1
Compare
d9b78cd to
605adfa
Compare
605adfa to
32ed0da
Compare
|
We've been relying on this patch for several months in our project. Any update on reviewing it? Thanks! |
This is a temporary workaround for celery/celery#4858.
georgepsarakis
left a comment
There was a problem hiding this comment.
@lpsinger really nice work!
|
@lpsinger that is because the latest version is still installed. I was thinking to request the exact version (and I assume 3.7.1 will probably be compatible with Celery's codebase): |
auvipy
left a comment
There was a problem hiding this comment.
can you resume the effort? rebase needed
|
@auvipy - I've rebased this changeset onto the latest master and it still seems to function happily, resolving a problem I was having with group result ordering on top of Redis today. Is there still appetite to get this merged? If @lpsinger (/ping) isn't able, I can push an alternate PR and prep for merge. |
please take this |
|
@maybe-sybr, I'm very happy for you to carry this forward. Thank you! |
|
I've created #6218 to absorb the changes proposed here. The questions around changes to the Redis results backend typing are still relevant so I'll ping the commenter there to raise it again. |
Description
Preserve the order of return values from groups under the redis backend. Fixes #3781.
Example
Here is
test.py:Start the worker like this:
And test it like this:
In previous versions of Celery, the return values would generally be out of order.