【问题标题】:Set unicorn timeout设置独角兽超时
【发布时间】:2012-05-27 23:22:48
【问题描述】:

我的项目使用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

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

【问题讨论】:

  • 您确定正在加载此独角兽文件吗?你是怎么加载它的?
  • 我使用capistrano-deploy gem 重新加载独角兽。有趣的是,unicorn.rb 位于 unix 主文件夹中,但 rails 应用程序位于 web-app 文件夹中。我以前从未遇到过类似的。
  • 我从来没有使用过这个 gem,但是如果你这样做在 'deploy:restart', 'unicorn:reload' 之后你需要重启 unicorn,而不仅仅是重新加载它。 sudo /etc/init.d/unicorn restart 并设置超时。在 unicorn 中,重新加载和重启是两件不同的事情。
  • 是的。我从家里解决了问题unicorn.rb 是来自/etc/unicorn 的工作文件的副本。我的天啊。 重新启动后它一直在工作。谢谢你。你帮了我。但解决方案很有趣
  • @MaurícioLinhares - 如果您想将解决方案概括为您自己的答案,我将删除我的答案。 (请参阅meta.stackexchange.com/questions/90263/… 详细说明为什么这会有所帮助。)谢谢!

标签: ruby-on-rails ruby unicorn


【解决方案1】:

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

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

~回答Maurício Linhares

【讨论】:

    【解决方案2】:

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

    我不得不跑

    cap deploy
    

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

    cap unicorn:stop
    cap unicorn:start
    

    【讨论】:

      猜你喜欢
      • 2012-09-17
      • 2014-08-04
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多