Debugging 如何在PyCharm中启用远程芹菜调试?
我试图找到一些关于如何在远程机器上的芹菜进程中启用PyCharm调试的说明。远程计算机正在运行Ubuntu 14.04 我正在运行PyCharm 4.xDebugging 如何在PyCharm中启用远程芹菜调试?,debugging,celery,pycharm,Debugging,Celery,Pycharm,我试图找到一些关于如何在远程机器上的芹菜进程中启用PyCharm调试的说明。远程计算机正在运行Ubuntu 14.04 我正在运行PyCharm 4.x 我看到一些其他信息暗示其他人可以使用它,但无法找到任何正确的说明。您可以使用运行配置来运行芹菜工作程序,然后只需单击调试按钮即可进行调试。以下是我在PyCharm 5中如何设置的: 您需要设置一个远程python解释器,然后设置其他配置,如上图所示。请注意,工作目录指向安装了芹菜的远程解释器的bin文件夹。只需添加以下配置: from cel
我看到一些其他信息暗示其他人可以使用它,但无法找到任何正确的说明。您可以使用
运行配置来运行芹菜工作程序,然后只需单击调试按钮即可进行调试。以下是我在PyCharm 5中如何设置的:
您需要设置一个远程python解释器,然后设置其他配置,如上图所示。请注意,工作目录
指向安装了芹菜的远程解释器的bin
文件夹。只需添加以下配置:
from celery import current_app
current_app.conf.CELERY_ALWAYS_EAGER = True
current_app.conf.CELERY_EAGER_PROPAGATES_EXCEPTIONS = True
这样做会使芹菜与当前执行的线程在同一个线程中执行。我的工作配置:
- 脚本:
/home/app/env/bin/芹菜
- 脚本参数:
worker-B-n qrc-Q qrc-l info--app=backend.芹菜
- 其中
-B
表示芹菜甜菜,
-n
是节点名,
-Q
是队列名称,
-l
是日志级别,并且
--app
是应用程序名,在我的例子中是一个django应用程序,在settings.py旁边有芹菜.py
- 工作目录:
/home/app/server/
ie my django根文件夹
不幸的是,大多数解决方案在Windows上不起作用。(有一个特别的问题,但不幸的是它作为这个问题的副本关闭了。所以我现在在这里回答这个问题。)
问题是,在Windows上,standalone芹菜命令是一个批处理文件,因此PyCharm无法将Python调试器附加到它
在Celery 3.x之前,您可以创建一个manage.py
运行配置,并在其上调用Celery worker
命令
请注意,此处不需要设置--app
,因为应用程序是由管理命令通过DJANGO\u SETTINGS\u模块定义的
不幸的是,芹菜
管理命令是django芹菜
库的一项功能,芹菜4.x不支持该功能。到目前为止,我还没有找到芹菜4.x的解决方案。我正在使用PyCharm 2017,必须做一些与上述答案非常类似的事情,但我特别必须在“脚本”字段中输入芹菜的完整/绝对路径名
另外,我不确定PyCharm 4是否具有此功能,但较新版本允许您通过运行>附加到本地进程来直接附加到正在运行的python进程
这允许您以之前的方式运行芹菜(可能在终端中),然后允许Pycharm接管Windows中的调试配置,在Pycharm中添加以下参数
-A YouAppName worker --loglevel=debug -P solo --without-gossip --without-mingle --without-heartbeat
如果您使用Gevent for Cellery,请不要忘记选中Preferences>Build、Execution、Deployment>Python Debugger>Gevent Compatible
复选框。对于Windows,在中使用Cellery>=4.0进行测试
添加类型为“Python”的新(运行/调试)配置:
然后,在“配置”选项卡下:
将第一个选项(要运行的目标)从“脚本路径”切换到“模块名称”,并填写以下值:
celery.bin.celery
如下面的快照所示:
谢谢,我在找这个!谢谢,我发现必须添加-P solo
以节省生命。这个解决方案在pycharm 2020 pro编辑版中对我很有效:我想workdir是我遗漏的东西。我必须在IntelliJ 2021.1中输入芹菜可执行文件的完整路径。