Skip to content
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

hub loops infinite on BRPOP channel after redis connection timed out from redis server side #2214

Open
maylingge opened this issue Dec 24, 2024 · 0 comments

Comments

@maylingge
Copy link

maylingge commented Dec 24, 2024

Hi experts,
I am using celery worker to execute my tasks and I have Redis as the broker and result backend.
celery - 4.4.7
kombu - 4.6.11
redis - 6

While my worker executes a long running task (longer than Redis server side connection timeout value), my celery worker main process eats up to 100% CPU.
After my worker finishes current task and get the next task, Kombu hub will know the fd is closed. And will create a new connection.
Then my celery worker main process will release the CPU. But will eats up to 100% CPU again if I have a long-running task again.
I wont run into this CPU 100% issue if I have Redis connection timeout set to 0.

But this is not acceptable in my situation.
Any suggestion to resolve this CPU 100% issue?

I notice that kombu hub keeps get READ event from the BRPOP channel after Redis connection timed out. Which makes CPU 100%.
Not sure how to fix this issue.

Appreciate your comment on this.
Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant