2014-10-05 3 views
1

응용 프로그램을 개발 중입니다. MongoDB 서버는 원격 호스트에서 호스팅됩니다. 그래서, 나는 정말로 socketTimeoutMS: 30000을 사용하여 에러가 발생했는지 확인하려고합니다. 그리고 어플리케이션에 문제를 기록하게됩니다.아주 간단한 환경에서 socketTimeoutMS가 작동하지 않습니다.

MONGO_URLmongodb://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

답변

관련 문제