【问题标题】:Django Supervisord fastcgi configuration (supervisord.conf) - exits immediatelyDjango Supervisord fastcgi 配置 (supervisord.conf) - 立即退出
【发布时间】:2012-03-14 01:08:42
【问题描述】:

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

是否有某种方式可以让主管进程知道 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 configuration fastcgi supervisord


    【解决方案1】:

    在不强制 django 作为守护进程运行的情况下试一试。根据主管docs

    应在主管下运行的程序不应守护进程 他们自己。相反,它们应该在前台运行。他们应该 不要与它们启动的终端分离。

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 2018-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-04
      • 2017-09-30
      • 2017-04-12
      • 2012-07-22
      相关资源
      最近更新 更多