如何避免刷新宝石清单

时间:2013-03-28 07:41:07

标签: ruby-on-rails unicorn

在使用unicorn启动rails应用程序时,我看到以下语句,它做了什么以及如何避免这种情况:

I, [2013-03-28T06:46:05.060194 #1762]  INFO -- : worker=0 spawning...
I, [2013-03-28T06:46:05.066834 #2137]  INFO -- : worker=0 spawned pid=2137
I, [2013-03-28T06:46:05.067210 #2137]  INFO -- : Refreshing Gem list

1 个答案:

答案 0 :(得分:7)

您向我们提供的日志包含:

worker = 0产生

将回复您的HTTP请求的工作人员作为一个单独的进程生成,其中pid 2137

刷新宝石列表

根据Unicorn官方文档(http://unicorn.bogomips.org/SIGNALS.html),Gem集按顺序重新加载,因此“应用程序的更新代码可以获取新安装的RubyGems”

查看源代码,每当构建应用程序时都会调用消息“Refreshing Gem list”:

def build_app!
    if app.respond_to?(:arity) && app.arity == 0
      if defined?(Gem) && Gem.respond_to?(:refresh)
        logger.info "Refreshing Gem list"
        Gem.refresh
      end
      self.app = app.call
    end
  end
end

没有可配置的方法来避免这种情况,除非你想要修补这个方法,以防止Gem重新加载宝石。