13

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

我已经设置了我的 nginx 配置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

你能帮助我吗?任何帮助表示赞赏。谢谢你。

4

2 回答 2

9

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

我从来没有使用过这个 gem,但是如果你在 'deploy:restart', 'unicorn:reload' 之后这样做,你需要重新启动 unicorn,而不仅仅是重新加载它。sudo /etc/init.d/unicorn restart并设置超时。在独角兽中,重新加载和重启是两个不同的东西。

〜回答毛里西奥·林哈雷斯( Maurício Linhares)

于 2013-10-08T03:00:42.503 回答
1

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

我不得不跑

cap deploy

然后停止并启动 unicron 主进程以获取新配置:

cap unicorn:stop
cap unicorn:start
于 2014-04-04T13:01:31.740 回答