我正在使用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中单击“调试”方便。在
对于调试celery,我发现添加以下配置更简单:
这使得celery与当前正在执行的线程在同一个线程中运行。在
当我升级芹菜和台球时,这个问题就消失了:
相关问题 更多 >
编程相关推荐