Gunicorn内部服务器错误

时间:2011-07-22 12:40:33

标签: python django deployment gunicorn

我有一台运行Django应用程序的Gunicorn服务器,它经常会崩溃。不幸的是,当它崩溃时,所有的Gunicorn工人同时下降并默默地绕过Django和django-sentry的伐木。所有工作人员都返回“内部服务器错误”,但仲裁器不会崩溃,因此supervisord不会将其注册为崩溃,因此不会重新启动该过程。

我的问题是,有没有办法挂钩Gunicorn工作人员崩溃,可能发送电子邮件或做日志声明?其次有没有办法让supervisord重新启动Gunicorn服务器,只返回500?

提前致谢。

1 个答案:

答案 0 :(得分:1)

我强烈建议使用zc.buildout。下面是一个使用插件Superlance进行supervisord和buildout的示例:

[supervisor]
recipe = collective.recipe.supervisor
plugins =
   superlance
...
programs =
     10 zeo ${zeo:location}/bin/runzeo ${zeo:location}
     20 instance1 ${instance1:location}/bin/runzope ${instance1:location} true
...
eventlisteners =
     Memmon TICK_60 ${buildout:bin-directory}/memmon [-p instance1=200MB]
     HttpOk TICK_60 ${buildout:bin-directory}/httpok [-p instance1 -t 20 http://localhost:8080/]

每20秒会执行一次http请求,如果失败则重启进程。

http://pypi.python.org/pypi/collective.recipe.supervisor/0.16

相关问题