supervisor 拉起 Django 为什么会多出一个进程?

2014-11-04 11:17:44 +08:00
 cheyo
使用supervisor拉起Django(跑在虚拟环境中),只配置了一个程序,监听的是8080端口。
但最后总是会出现两个进程。我看进程号,第二个Django进程是由第一个Django拉起的。

这是什么原因?

进程:

[root@cheyo ~]# ps -ef | grep python
root 22602 1 0 Oct30 ? 00:03:48 /usr/bin/python2.6 /usr/bin/supervisord -c /etc/supervisord.conf
root 32623 22602 6 11:01 ? 00:00:00 /root/house/LemonHouse/ENV/bin/python /root/house/LemonHouse/django_house/manage.py runserver 0.0.0.0:8080
root 32630 32623 9 11:01 ? 00:00:00 /root/house/LemonHouse/ENV/bin/python /root/house/LemonHouse/django_house/manage.py runserver 0.0.0.0:8080
root 32633 32421 0 11:01 pts/1 00:00:00 grep python
[root@cheyo ~]#


Supervisor配置:

[program:LemonHouse]
directory=/root/house/LemonHouse/django_house
command=/root/house/LemonHouse/ENV/bin/python manage.py runserver 0.0.0.0:8080
stdout_logfile=/root/house/LemonHouse/django_house/Django_run.log
numprocs=1
redirect_stderr=true
5103 次点击
所在节点    Python
4 条回复
cheyo
2014-11-04 11:36:37 +08:00
知道是是Django自己reload的原因了,我在supervisor中给Django加了--noreload后,就不会有两个进程了。

但这样,Django就不能自动载入修改的文件。
ericFork
2014-11-04 18:47:54 +08:00
生产环境中不应自动载入修改的文件
hisokc
2014-11-05 17:47:49 +08:00
看下supervisor的控制面板里有多少进程
jacena
2017-09-05 09:44:01 +08:00
@cheyo 怎么加--noreload

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/143804

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX