我正在使用 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 服务器实例。
在本地一切正常,但在服务器上行为不端。
如果我做错了什么以及是否有更正确的方法,请告诉我。
提前致谢 :)