응용 프로그램을 개발 중입니다. MongoDB 서버는 원격 호스트에서 호스팅됩니다. 그래서, 나는 정말로 socketTimeoutMS: 30000
을 사용하여 에러가 발생했는지 확인하려고합니다. 그리고 어플리케이션에 문제를 기록하게됩니다.아주 간단한 환경에서 socketTimeoutMS가 작동하지 않습니다.
MONGO_URL
을 mongodb://localhost/ddd18?socketTimeoutMS=4000'
으로 설정하여 URL을 시도했습니다.
require('mongodb').MongoClient.connect(process.env.MONGO_URL, { server: { socketOptions: { socketTimeoutMS: 6500, connectTimeoutMS: 6500 } } } , function(err, db){
또는 : (직선 { socketOptions: { socketTimeoutMS: 6500, connectTimeoutMS: 6500 } }
또는 { socketTimeoutMS: 6500, connectTimeoutMS: 6500 }
등) 옵션에서
require('mongodb').MongoClient.connect(process.env.MONGO_URL, { mongos: { socketOptions: { socketTimeoutMS: 6500, connectTimeoutMS: 6500 } } } , function(err, db){
또는 다른 조합.
나는 다음을 수행하는 경우 :
시도가 중단됩니다
- 는 조작 내 (MongoDB를 미세 연결) 응용 프로그램
- 킬 MongoDB를 모두
- 시도를 실행하고 수행 영원히. 사실, 거기에 멈추고 MongoDB를 마침내 다시 시작하면 실제로 작업이 시작되고 완료됩니다.
문제는 내 클라이언트의 시간이 30 초입니다. 서버가 작동하지 않고 어떤 이유로 몇 분 동안 아무 소리도 들리지 않으면 클라이언트가 "실패"로보고 한 모든 작업이 실제로 발생합니다. 이는 어리석은 일입니다.
나는 분명히 잘못된 것을하고 있습니까?
관련 문서 : http://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html