首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >彩虹的工作人员在超时后被杀死,即使它回答

彩虹的工作人员在超时后被杀死,即使它回答
EN

Stack Overflow用户
提问于 2012-11-13 21:36:01
回答 1查看 375关注 0票数 0

我有一个Sinatra应用程序运行在Rainbows上。我记录了以下内容:

代码语言:javascript
复制
before do
  logger.info("#{Process.pid} #{Time.now} #{request.ip} #{request.path_info} #  {params.to_s}")
end

代码语言:javascript
复制
after do
  logger.info("#{Process.pid} #{Time.now} #{request.ip} #{request.path_info} #{params.to_s} => #{response.headers['X-API-Status']} (#{response.successful?})")
end

在我的日志中,我可以读到:

代码语言:javascript
复制
25988 2012-11-13 11:57:52 +0100 192.168.90.1 /req {"u"=>"810000027"}
25988 2012-11-13 11:57:59 +0100 192.168.90.1 /req {"u"=>"810000027"} => 200 (true)
192.168.90.1 - - [13/Nov/2012 11:57:59] "POST /req HTTP/1.1" **200** 14 7.5862
25988 2012-11-13 11:57:59 +0100 192.168.90.1 /req {"u"=>"810000027"}
25988 2012-11-13 11:57:59 +0100 192.168.90.1 /req {"u"=>"810000027"} => 200 (true)
192.168.90.1 - - [13/Nov/2012 11:57:59] "POST /req HTTP/1.1" 200 14 0.0223
E, [2012-11-13T11:58:04.099913 #25875] ERROR -- : worker=2 PID:**25988** timeout (12s > 11s), killing
E, [2012-11-13T11:58:04.106428 #25875] ERROR -- : reaped #<Process::Status: pid 25988 SIGKILL (signal 9)> worker=2

我的工人(pid 25988)正在被杀死,就好像它没有响应第一个请求...但是,很明显,它已经发生了!它甚至处理了另一个请求(我使用的是基本并发模型->,无并发)

我的彩虹配置是:

代码语言:javascript
复制
Rainbows! do
 timeout(10) 
end

listen(3000)
pid('/tmp/rainbows.pid')
stderr_path('/var/log/rainbows.log')
stdout_path('/var/log/rainbows.log')
working_directory('/opt/app')
worker_processes(4)

你知道会发生什么吗?或者我如何才能进一步调查?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-14 22:56:29

实际上,问题出在客户端(flash)“保持活动”太长时间的请求中。显然没有办法properly close the tcp connection in AS3..。

我用以下命令修复了问题:

代码语言:javascript
复制
Rainbows! do
  keepalive_timeout(0)
end

不管怎么说,这对我来说是合适的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13361676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档