celery / kombu

Messaging library for Python.
http://kombu.readthedocs.org/
BSD 3-Clause "New" or "Revised" License
2.88k stars 928 forks source link

Kombu version >= 5.4.0rc seem to break celery control commands from celery with versions <5.4.0rc #2152

Open TheCodingLand opened 2 weeks ago

TheCodingLand commented 2 weeks ago

It seems that Control commands from workers with kombu <5.4.0rc cannot send control commands to workers with kombu >=5.4.0rc. For example ping is never received if using kombu 5.4.2 if sent from a worker in 5.3.7. We are using redis backend with sentinels.

I tried also to install celery 5.5.0b2 and force kombu 5.3.7 as a test. And the worker appears in my flower ui, which is running on older kombu.

However the moment I update it to 5.4.0, it dissapears and never receives any commands from flower. (using celery debug log level I can see that nothing gets received by the worker)

Side note, updating the flower env to newer kombu now sees the worker, but does not see other workers running on <5.4.0rc. Tasks are still picked up by workers.

Nusnus commented 2 weeks ago

Hey there, thank you for the report.

  1. Can you please check if it reproduces with the latest pre-release of Celery? Or even main as it uses a newer version of Kombu.
  2. Can you share a way to reproduce?

Thank you!

TheCodingLand commented 1 week ago

@Nusnus I will work on reproducing the issue, I could not reproduce in a simple docker environment so far.

Nusnus commented 1 week ago

@Nusnus I will work on reproducing the issue, I could not reproduce in a simple docker environment so far.

Check out https://pytest-celery.readthedocs.io, it might be useful.