无法启动Celery Worker(Kombu.asynchronous.timer)

Ksh*_*j G 6 python celery celery-task python-3.x django-celery

我跟着Celery(Django)的第一步,试图在后台运行一个繁重的过程.我安装了RabbitMQ服务器.但是,当我尝试时, celery -A my_app worker -l info它会引发以下错误

File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "c:\anaconda3\lib\site-packages\celery\concurrency\prefork.py", line 
18, in <module>
from celery.concurrency.base import BasePool
File "c:\anaconda3\lib\site-packages\celery\concurrency\base.py", line 15, 
in <module>
from celery.utils import timer2
File "c:\anaconda3\lib\site-packages\celery\utils\timer2.py", line 16, in 
<module>
from kombu.asynchronous.timer import Entry
ModuleNotFoundError: No module named 'kombu.asynchronous.timer'
Run Code Online (Sandbox Code Playgroud)

我搜索了很多,但似乎无法让它工作.任何帮助将受到高度赞赏.谢谢!

小智 8

我在 pip (3.1.26Post2) 的默认 Celery 安装中遇到了这个问题。如上所述,我安装了 3.1.25 版,但 Celery 仍然无法正常工作。因此我明确安装了最新版本:

pip 安装芹菜==4.3

现在一切正常!


gog*_*gaz 8

django-celery我在阅读celery 4.4 文档时尝试安装后来到这里,这个包强制 celery 版本3.1.26.post2,所以我必须:

\n\n
pip uninstall django-celery\npip uninstall celery && pip install celery # Uninstall 3.1 and install latest\n
Run Code Online (Sandbox Code Playgroud)\n\n

正如文档明确指出的那样:

\n\n
\n

现在 Django 已得到开箱即用的支持,因此本文档仅包含集成 Celery 和 Django 的基本方法。您\xe2\x80\x99 将使用与非 Django 用户相同的 API,因此建议您\xe2\x80\x99 首先阅读Celery 教程的第一步,然后再返回本教程。

\n
\n


小智 2

我有同样的问题,但是当使用版本 3.1.25 重新安装 celery 时解决了它

\n\n
pip uninstall celery && pip install celery==3.1.25\n
Run Code Online (Sandbox Code Playgroud)\n\n

可能是因为 celery 4\xef\xbc\x8c 不正式支持 Windows https://github.com/celery/celery/issues/3551

\n