분당 한 번씩 mongodb 인스턴스에서 모니터링 스크립트를 확인하고 연결하고, 간단한 쿼리를 수행하고 10 초 이내에 반환하거나 일부 시간 초과를 허용해야합니다 예측 가능한 방식으로 10 초 이상 걸리고 그 오류/예외를 잡을 수 있습니다.시간 제한을 사용하여 pymongo로 서버 상태 확인하기
pymongo의 설명서에 따르면 쿼리 시간 초과는 설정할 수 없으며 소켓과 연결 시간 제한 (정상적으로 작동하는 것 같습니다) 만 설정할 수 있습니다. 이 문제를 해결할 수있는 방법이 있습니까?
- 연결
- 이 (통계 사용) 마지막으로 업데이트 된 문서를 확인하는 간단한
find()
쿼리 - 연결을 닫습니다을 수행 MongoDB를 위해 :
프로그램의 흐름이입니다.
# 1은 항상 정상적으로 작동하지만 전체 요청은 # 2에서 시간 초과되어 내 스스로 부과 한 10 초 제한 내에서이를 포착 할 수 없습니다.
잠금은 많은 수의 동시 map-reduce 쿼리 때문에 피크 시간대에 발생하는 것으로 보입니다. 우리는 mongodb 2.4.3을 사용하고 있습니다. 당신이 당신의 mongo_client을 만들 때
인덱스가있는 find() 인 경우, 특히 단일 레코드 만 쿼리하기 때문에 시간 초과보다 빨리 완료해야합니다! –