设置独角兽超时

时间:2012-05-21 12:50:43

标签: ruby-on-rails ruby unicorn

我对我的项目使用rails 3.0.11ruby 1.9.3-p0nginx 1.0.4unicorn 3.6.2。我有一个问题。 我必须在我的服务器上进行长期操作。大约150秒。在这种情况下也没关系。

我在location

中设置了我的nginx配置
proxy_read_timeout 240;
proxy_send_timeout 240;

使用命令

设置我的unicorn.rb文件
timeout 240

但我总是得到502 bad gateway错误。 我想,独角兽的问题。我得到这个独角兽日志

E, [2012-05-21T11:52:21.052382 #30423] ERROR -- : worker=1 PID:30871 timeout (104.052329915s > 60s), killing
E, [2012-05-21T11:52:21.080378 #30423] ERROR -- : reaped #<Process::Status: pid 30871 SIGKILL (signal 9)> worker=1
I, [2012-05-21T11:52:21.105045 #30423]  INFO -- : worker=1 spawning...
I, [2012-05-21T11:52:21.111148 #894]  INFO -- : worker=1 spawned pid=894   
I, [2012-05-21T11:52:21.111659 #894]  INFO -- : Refreshing Gem list
你能帮帮我吗?任何帮助表示赞赏。谢谢。

2 个答案:

答案 0 :(得分:9)

从评论中复制答案,以便从“未答复”过滤器中删除此问题:

  

我从来没有使用过这个宝石,但如果你之后正在做这个   'deploy:restart','unicorn:reload'你需要重启unicorn,而不是   只重装它。 sudo /etc/init.d/unicorn restart ,超时将会   被设定。重新加载和重启是独角兽的两个不同的事情。

〜每Maurício Linhares

回答

答案 1 :(得分:1)

在config / unicron / production.rb中更改超时后

我必须跑

cap deploy

然后停止;启动gunicorn master进程以获取新配置:

cap unicorn:stop
cap unicorn:start