独角兽&闯入Rails

时间:2014-08-21 20:30:41

标签: ruby-on-rails ruby unicorn pry

我无法使用与Unicorn的撬,因为我在一段时间后被提示退出了我的提示。这是一个快速概述:

在控制器的自定义操作中,我有:

  def assign
    binding.pry
  end

到达这条路线没问题,我甚至得到了熟悉的pry提示:

     8: def assign
     9:
 => 10:   binding.pry
    11: end

[1] pry(#<RolesController>)>

经过大约一分钟的时间后,我得到了这个,让我从撬动的提示中解脱出来:

[3] pry(#<RolesController>)> E, [2014-08-21T16:29:01.698472 #4780] ERROR -- : worker=0 PID:4852 timeout (61s > 60s), killing
E, [2014-08-21T16:29:01.721420 #4780] ERROR -- : reaped #<Process::Status: pid 4852 SIGKILL (signal 9)> worker=0
I, [2014-08-21T16:29:01.745491 #5109]  INFO -- : worker=0 ready

有没有办法在pry中不杀死进程?

2 个答案:

答案 0 :(得分:12)

我可以通过更改timeout文件中的config/unicorn.rb配置来解决此问题:

if ENV["RAILS_ENV"] == "development"
  worker_processes 1
  timeout 10000
else
  worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3)
  timeout 15
  preload_app true
end

答案 1 :(得分:2)

我认为在开发中进行适当的调试时,你必须配置unicorn不要在开发模式下超时。独角兽工作者正在等待您撬动的控制器操作的响应,因此它不会在设置的超时窗口内得到响应,该过程将被终止。