2012-06-05 2 views
9

커서에 no-timeout 옵션을 지정하는 방법은 무엇입니까?커서에 no-timeout 옵션을 지정하는 방법은 무엇입니까?

내가 직접 내 노트북에서 작업을 실행할 수 있지만 뭔가 서버와 나는이 오류를 얻고 모든 시간을 것입니다 :

MongoDB를의 cursor.refresh() 커서 XXX 질의 응답은 CURSOR_NOT_FOUND를 반환했습니다. 유효하지 않은 커서가 지정되었거나 커서가 서버에서 시간 초과되었을 수 있습니다. 커서 YYY

작업이 그 파일 루비 스케줄러에서 실행되고 레이크 레이크 네임 스페이스로 지정을위한 MongoDB를의 cursor.refresh()은 중간에 다른 루비 모듈을 요구하고, 작업이 중 사망 이 모듈의 실행

나는이 질문에 earlier을 물었습니다. 그리고 그것은 downvoted되었습니다. 제발, downvoting 대신 정말이 문제를 해결할 필요가 있고 무슨 일이 일어나고 있는지 알아낼 수 없기 때문에 그것에 대해 너무 바보 설명하십시오.

서버는 실험적이며 모니터링 도구가 없습니다. 그러나 그것은 믿을만한 것 같습니다. 그리고 다른 직업은 없습니다.

답변

11

커서 시간 초과를 끄는 방법에 대한 자세한 내용은 Ruby MongoDB 드라이버의 경우 FAQ을 참조하십시오.

예 거기에서 :

@collection.find({}, :timeout => false) do |cursor| 
    cursor.each do |document 
    # Process documents here 
    end 
end 
관련 문제