我正在使用mongoid orm并尝试动态建立连接。
def establish_mongo_connection publish_detail
Mongoid.disconnect_clients
Mongoid.clients.clear
Mongoid.configure do |config|
a = config.connect_to publish_detail.server.database_name, auth_source: 'admin', auth_mech: :scram
end
Mongoid.clients[:default][:hosts] = "mongodb://#{publish_detail.server.database_user}:#{publish_detail.server.database_password}@#{publish_detail.server.database_connection}"
end
建立连接后,我正在做业务逻辑,最后保存记录(通过MongoID模型对象)。
整个处理和保存对象大约需要10-12秒。
问题是有时记录会保存在不同的mongo服务器中,而不是预期的。
我正在运行2个puma服务器实例。
本地一切正常,但在服务器上行为不端。
如果我做错了,请告诉我这是否有更正确的方法。
提前致谢:)