2013-03-23 4 views
2

express.js 및 mongodb를 데이터 저장소로 사용하는 node.js 웹 서버가 있습니다. 이 서버는 runit에 의해 제어되고 있으며 정상적으로 서버를 종료하는 방법을 구현하려고합니다.express.js + mongodb 서버의 완전 종료 (node.js 사용)

나는 SIGINTSIGTERM를위한 신호 처리기를 구현하고, 그리고 당신이 createServer()에 의해 반환 된 객체에 .close()를 호출하여 새로운 연결을 수신 중지 할 수 있음을 알고 있습니다. 여태까지는 그런대로 잘됐다.

그러나 더 이상 요청이 없더라도 데이터베이스에 닫기 전에 완료해야하는 요청이 시스템에 이미있을 수 있습니다.

mongodb ReplicaSet을 사용하고 있는데, 바로 db.close()을 호출하면 즉시 이러한 요청 중 일부가 실패 할 수 있습니다. 보류중인 데이터베이스 쿼리를 완료 할 수있는 방식으로 데이터베이스를 닫는 방법이 있습니까? 또는 수동으로 +/- 카운터를 사용하여 얼마나 많은 "활성"쿼리가 보류 중인지 확인한 다음 0에 도달 할 때까지 종료 할 때까지 기다려야합니다. ?

답변

관련 문제