8

ユニコーンを使用して 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
4

1 に答える 1

8

あなたが私たちに提示したログには以下が含まれています:

worker=0 スポーン

HTTP リクエストに応答するワーカーは、pid 2137を持つ別のプロセスとして生成されます。

Gem リストの更新

Unicorn の公式ドキュメント ( http://unicorn.bogomips.org/SIGNALS.html ) によると、「アプリケーションの更新されたコードが新しくインストールされた RubyGems を取得できる」ように、Gem セットが順番に再読み込みされます。

ソースコードを見ると、アプリケーションがビルドされるたびに「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

preload_app構成を設定すると、この動作をある程度制御できます。

于 2013-10-16T15:41:11.903 に答える