mongoDB,乘客和性能问题与phusion乘客

时间:2010-01-20 08:35:38

标签: ruby-on-rails mongodb mongomapper passenger

我偶然发现mongodb-user列表上的一个冒充,当mongoDB与MongoMapper一起使用时,有关乘客和分叉的讨论。

  

我只是想提醒一下,Rails开发人员需要调整他们的   'environment.rb',如果他们将MongoDB与Passenger一起使用。

     

默认情况下,Passenger使用fork()生成Ruby进程。并且,作为分叉   ()共享文件描述符,Rails应用程序必须重新打开连接   在新的“过程”中对MongoDB。

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

任何人都知道mongoDB和乘客是否还存在问题,或者与乘客一起提供mongoDB-rails应用程序的最佳方式是什么?

1 个答案:

答案 0 :(得分: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