切诺基导致产生多个uwsgi实例的问题

时间:2011-03-16 07:53:53

标签: python django cherokee uwsgi

我正在运行切诺基,使用uwsgi为django应用程序提供服务。自升级到切诺基1.2.x以来,我一直有一些奇怪的行为。

在切诺基1.2.x之前,设置工作正常,我没有改变任何配置。

问题是,现在,当uwsgi没有运行并且我尝试加载django应用程序站点时,我首先得到503错误。后续请求工作正常。查看日志,我看到切诺基正在产生多个uwsgi实例,这似乎是问题所在。

我已发布了cherokee.error日志here

似乎切诺基正在产生多个uwsgi实例:

probably another instance of uWSGI is running on the same address.

我对uwsgi的配置是:

<pidfile>/home/my_home/my_project/uwsgi.pid</pidfile>
<vacuum />
<processes>4</processes>
<harakiri>30</harakiri>
<master />

问题的另一个症状是在503之后,然后随后成功启动uwsgi,我没有PID文件。这是因为uwsgi的其他实例启动然后失败,在退出时删除PID文件:

binding on TCP port: 45611
probably another instance of uWSGI is running on the same address.
bind(): Address already in use [socket.c line 341]
VACUUM: pidfile removed.

总的来说,问题是:

    在cherokee启动uwsgi之后的第一个视图中显示
  • 503
  • 没有创建PID文件(或者它正在被创建但是被另一个现有的uwsgi进程立即删除)

谷歌搜索probably another instance of uWSGI is running on the same address只能匹配uwsgi源代码,所以看来我是唯一一个遇到此问题的人。

我在具有相同设置的多台计算机上遇到同样的问题。

有什么想法吗?

软件版本:

  • uWSGI 0.9.6.2
  • Cherokee 1.2.1
  • Django开发主干(介于1.3 rc和1.3之间)

1 个答案:

答案 0 :(得分:1)

看起来这是在行李箱中修复的切诺基虫:

http://svn.cherokee-project.com/listing.php?repname=Cherokee&peg=6382&rev=6380

我从SVN下载了trunk,我不再遇到问题了。