- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在开发一个应用程序。 MongoDB 服务器托管在远程主机上。因此,我非常热衷于使用 socketTimeoutMS: 30000
来确保抛出错误 - 并且我可以在我的应用程序中记录问题。
我尝试使用 URL,将 MONGO_URL
设置为 mongodb://localhost/ddd18?socketTimeoutMS=4000'
。
或者使用选项:
require('mongodb').MongoClient.connect( process.env.MONGO_URL, { server: { socketOptions: { socketTimeoutMS: 6500, connectTimeoutMS: 6500 } } } , function( err, db ){
或者:
require('mongodb').MongoClient.connect( process.env.MONGO_URL, { mongos: { socketOptions: { socketTimeoutMS: 6500, connectTimeoutMS: 6500 } } } , function( err, db ){
或选项中的其他组合(例如直接 { socketOptions: { socketTimeoutMS: 6500, connectTimeoutMS: 6500 } }
甚至 { socketTimeoutMS: 6500, connectTimeoutMS: 6500 }
)。
如果我执行以下操作:
该尝试将永远挂起。实际上,它会卡在那里,然后当我最终重新启动 MongoDB 时,操作将真正开始并完成。
我遇到的问题是我的客户端有 30 秒超时。如果服务器不这样做,并且由于某种原因它静默了几分钟,那么客户端报告为“失败”的所有这些操作实际上都会发生 - 这将是愚蠢的。
我做错了什么吗?
相关文档:http://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html
最佳答案
答案很简单:套接字没有超时。 auto_reconnect 被设置为 true,并且服务器继续尝试重新连接 - 并且没有给出错误
关于node.js - socketTimeoutMS 在非常简单的环境中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26199751/
我正在开发一个应用程序。 MongoDB 服务器托管在远程主机上。因此,我非常热衷于使用 socketTimeoutMS: 30000 来确保抛出错误 - 并且我可以在我的应用程序中记录问题。 我尝试
我是一名优秀的程序员,十分优秀!