django-q qcluster 在 Pycharm Debug 中运行时启动和退出

Jos*_*Dub 4 django pycharm django-q python-3.7

我正在 PyCharm 中使用django-q运行 Django 项目。manage.py runserver正在一个实例中运行,并且manage.py qcluster正在另一实例中运行。qcluster启动正常,然后立即优雅退出。全文如下:

/Users/user/PycharmProjects/project/venv/bin/python /Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/pydevd.py --multiproc --qt-support=auto --client 127.0.0.1 --port 65362 --file /Users/user/PycharmProjects/project/manage.py qcluster --settings=project.settings.dev
Connected to pydev debugger (build 193.6494.30)
pydev debugger: process 21339 is connecting

16:03:44 [Q] INFO Q Cluster grey-kentucky-georgia-avocado starting.
16:03:44 [Q] INFO Process-1 guarding cluster grey-kentucky-georgia-avocado
16:03:44 [Q] INFO Q Cluster grey-kentucky-georgia-avocado running.
16:03:44 [Q] INFO Process-1:1 ready for work at 21343
16:03:44 [Q] INFO Process-1:2 ready for work at 21344
16:03:44 [Q] INFO Process-1:3 ready for work at 21345
16:03:44 [Q] INFO Process-1:4 ready for work at 21346
16:03:44 [Q] INFO Process-1:5 ready for work at 21347
16:03:44 [Q] INFO Process-1:6 monitoring at 21348
16:03:44 [Q] INFO Process-1:7 pushing tasks at 21349
16:03:44 [Q] INFO Q Cluster grey-kentucky-georgia-avocado stopping.
16:03:44 [Q] INFO Process-1 stopping cluster processes
16:03:45 [Q] INFO Process-1:7 stopped pushing tasks
16:03:46 [Q] INFO Process-1:1 stopped doing work
16:03:46 [Q] INFO Process-1:2 stopped doing work
16:03:46 [Q] INFO Process-1:3 stopped doing work
16:03:46 [Q] INFO Process-1:4 stopped doing work
16:03:46 [Q] INFO Process-1:5 stopped doing work
16:03:47 [Q] INFO Process-1 waiting for the monitor.
16:03:47 [Q] INFO Process-1:6 stopped monitoring results
16:03:47 [Q] INFO Q Cluster grey-kentucky-georgia-avocado has stopped.

Process finished with exit code 0
Run Code Online (Sandbox Code Playgroud)

显然我希望它无限期地保持运行。如果我从 PyCharm 的manage.py终端运行它,它会按预期运行。manage.py runserver按预期运行。

我的版本:

  • Python 3.7
  • 姜戈3.0.3
  • Django-q 1.2.1
  • PyCharm 2019.3.3 专业版

Jos*_*Dub 7

要在 PyCharm 调试中运行 django_q,我必须打开“设置”->“构建、执行、部署”->“Python 调试器”,然后选择Gevent compatible. 我找到了这个问题的解决方案:https://github.com/Koed00/django-q/issues/367

  • VS Code 也会出现问题。解决方案是添加 `"gevent": true` 来启动 qcluster 的配置。 (5认同)