我对我的项目使用rails 3.0.11
,ruby 1.9.3-p0
,nginx 1.0.4
和unicorn 3.6.2
。我有一个问题。
我必须在我的服务器上进行长期操作。大约150秒。在这种情况下也没关系。
我在location
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
你能帮帮我吗?任何帮助表示赞赏。谢谢。
答案 0 :(得分:9)
从评论中复制答案,以便从“未答复”过滤器中删除此问题:
回答我从来没有使用过这个宝石,但如果你之后正在做这个 'deploy:restart','unicorn:reload'你需要重启unicorn,而不是 只重装它。 sudo /etc/init.d/unicorn restart ,超时将会 被设定。重新加载和重启是独角兽的两个不同的事情。
答案 1 :(得分:1)
在config / unicron / production.rb中更改超时后
我必须跑
cap deploy
然后停止;启动gunicorn master进程以获取新配置:
cap unicorn:stop
cap unicorn:start