芹菜任务不在PyCharm debugg中运行

2024-10-01 11:37:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用PyCharm,并注意到当我将调试器附加到celery worker进程时,我的任务没有完成,并将此错误记录到控制台:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named pydevd

调用celery任务时也会记录此消息:

[2013-03-24 05:24:26,336: INFO/MainProcess] Got task from broker: celery.group[91218981-204a-414c-a674-fcd8e2b22d23]

然而,这项任务从未真正完成。在

这是用于将PyCharm中的pydevd调试器附加到我的celry worker进程的实际命令:

/home/scottc/venv/myproj/bin/python home/scottc/.IntelliJIdea12/config/plugins/python/helpers/pydev/pydevd.py --multiproc --client 127.0.0.1 --port 60283 --file manage.py celeryd -E -B --loglevel=INFO

当我简单地运行进程而不在PyCharm中附加调试器时,ImportError消息永远不会显示,我的任务也会完成。在

最后,我知道pydevd是在我的路径中找到的,因为我可以手动输入以下代码:

^{pr2}$

调试器将成功附加。但问题是,这远不如设置一些断点并在PyCharm中单击“调试”方便。在


Tags: pyinfo消息home进程错误记录调试器
2条回答

对于调试celery,我发现添加以下配置更简单:

from celery import current_app
current_app.conf.CELERY_ALWAYS_EAGER = True
current_app.conf.CELERY_EAGER_PROPAGATES_EXCEPTIONS = True

这使得celery与当前正在执行的线程在同一个线程中运行。在

当我升级芹菜和台球时,这个问题就消失了:

billiard==2.7.3.23
celery==3.0.17

相关问题 更多 >