4

私はmongodb-userリストでポーズをとっているところに出くわしました。そこでは、MongoMapperでmongoDBを使用するときの乗客とフォークについての議論がありました。

Rails開発者がPassengerでMongoDBを使用する場合は、「environment.rb」を微調整する必要があることを思い出してください。

デフォルトでは、Passengerはfork()を使用してRubyプロセスを生成します。また、fork()はファイル記述子を共有するため、Railsアプリは新しい「プロセス」でMongoDBへの接続を再度開く必要があります。

http://groups.google.com/group/mongodb-user/browse_thread/thread/f31e2d23de38136a

mongoDBとpassengerにまだ問題があるかどうか、またはmongoDB-rails-applicationをpassengerで提供するための最良の方法は何ですか?

4

1 に答える 1

1

この「問題」はまだ残っていると思いますが、修正はリンク先のスレッド(最初のメッセージのリンク)とJohn Nunemakerによる要点(http://gist.github.com/ )の両方で提供されたと思います。 232953)。

関連する情報は、イニシャライザーに配置する次のコードブロックにあると思います。

if defined?(PhusionPassenger)
  PhusionPassenger.on_event(:starting_worker_process) do |forked|
    # if using older than 0.6.5 of MM then you want database instead of connection
    # MongoMapper.database.connect_to_master if forked
    MongoMapper.connection.connect_to_master if forked
  end
end
于 2010-01-20T12:59:24.813 に答える