gpt4 book ai didi

Django Supervisord fastcgi 配置(supervisord.conf)——立即退出

转载 作者:行者123 更新时间:2023-12-01 12:56:11 25 4
gpt4 key购买 nike

我正在尝试编写一个 supervisord.conf 来启动一个 django fastcgi 进程。唯一的问题是,当我执行我的 fastcgi 命令时,它会生成一个 fastcgi 进程并立即在主管中显示为“已退出”。 (这有点违背主管的观点)

是否有某种方法可以让主管进程知道 django fastcgi 进程确实在运行但它在后台?我正在研究所有的 supervisord 配置参数,看起来这应该是可能的(也许它可以根据 pid 文件或其他东西以某种方式确定它),但我在文档中有点迷失了。

$ ./manage.py supervisor status
celerybeat RUNNING pid 12575, uptime 0:01:17
celerycam RUNNING pid 12573, uptime 0:01:17
celeryd RUNNING pid 12572, uptime 0:01:17
django EXITED Mar 13 07:57 PM
runserver RUNNING pid 12574, uptime 0:01:17

注意:我实际上是在使用 django-supervisor 在 Django 上下文中使用变量创建我的配置文件。出于本示例的目的,{{ PYTHON }} 和 {{ settings.VIRTUALENV_ROOT }} 等变量仅由明显的路径填充。它应该像普通的 supervisor.conf 文件一样运行。

下面是我的 supervisord.conf 文件。

$ more supervisord.conf 
[supervisord]
logfile={{ settings.VIRTUALENV_ROOT }}/log/supervisord-jj.log
logfile_maxbytes=50MB
logfile_backups=15
pidfile={{ settings.VIRTUALENV_ROOT }}/var/run/supervisord-jj.pid

[program:celeryd]
command={{ PYTHON }} {{ PROJECT_DIR }}/manage.py celeryd

[program:celerycam]
command={{ PYTHON }} {{ PROJECT_DIR }}/manage.py celerycam

[program:runserver]
{% if settings.DEBUG %}
exclude=false
{% else %}
exclude=true
{% endif %}

[program:django]
command={{ PYTHON }} {{ PROJECT_DIR }}/manage.py runfcgi
method=threaded daemonize=true
outlog={{ settings.VIRTUALENV_ROOT }}/log/django-fcgi.log
socket={{ settings.VIRTUALENV_ROOT }}/var/run/django-run.socket
pidfile={{ settings.VIRTUALENV_ROOT }}/var/run/django.pid

[program:autoreload]
exclude=true

感谢阅读。非常感谢任何建议。

最佳答案

在不强制 django 作为守护进程运行的情况下尝试它。每主管docs :

Programs meant to be run under supervisor should not daemonize themselves. Instead, they should run in the foreground. They should not detach from the terminal from which they are started.

关于Django Supervisord fastcgi 配置(supervisord.conf)——立即退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9694589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com