gpt4 book ai didi

ruby-on-rails - 我可以设置 Mongoid 查询超时吗? Mongoid 不会终止长时间查询

转载 作者:行者123 更新时间:2023-12-04 03:35:09 25 4
gpt4 key购买 nike

Mongoid 没有超时选项。
http://mongoid.org/en/mongoid/docs/installation.html

我希望 Mongoid 终止长时间查询。如何设置 Mongoid 查询超时?

如果我什么都不做,Mongoid 会像下面这样等待很长时间。

mongo > db.currentOp()

{
"opid" : 34973,
"active" : true,
"secs_running" : 1317, // <- too long!
"op" : "query",
"ns" : "db_name.collection_name",
"query" : {
"$msg" : "query not recording (too large)"
},
"client" : "123.456.789.123:46529",
"desc" : "conn42",
"threadId" : "0x7ff5fb95c700",
"connectionId" : 42,
"locks" : {
"^db_name" : "R"
},
"waitingForLock" : true,
"numYields" : 431282,
"lockStats" : {
"timeLockedMicros" : {
"r" : NumberLong(514304267),
"w" : NumberLong(0)
},
"timeAcquiringMicros" : {
"r" : NumberLong(1315865170),
"w" : NumberLong(0)
}
}
}

最佳答案

实际上,所有查询都默认有超时时间。您可以设置一个 no_timeout 选项来告诉查询永远不会超时。看看 here

您可以像这样使用初始化器配置超时时间

Mongoid.configure do |config|
config.master = Mongo::Connection.new(
"localhost", 27017, :op_timeout => 3, :connect_timeout => 3
).db("mongoid_database")
end

关于ruby-on-rails - 我可以设置 Mongoid 查询超时吗? Mongoid 不会终止长时间查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17962254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com