10

カーソルでタイムアウトなしオプションを指定するにはどうすればよいですか?

手動およびラップトップからジョブを実行できますが、サーバーで何かが発生していて、常にこのエラーが発生します。

カーソルxxxのMONGODBcursor.refresh()クエリ応答がCURSOR_NOT_FOUNDを返しました。無効なカーソルが指定されたか、サーバーでカーソルがタイムアウトした可能性があります。カーソルyyyのMONGODBcursor.refresh()

ジョブは、rakeで名前空間として指定されているrubyスケジューラファイルから実行されます。rakeは途中で別のrubyモジュールを呼び出しており、このモジュールの実行中にジョブが終了します。

私は以前にこの質問をしました、そしてそれは反対票を投じられました。私は本当にこの問題を解決する必要があり、何が起こっているのか理解できないので、それについて何がそんなに愚かであるかを反対票を投じる代わりに説明してください。

サーバーは一種の実験的なものであり、監視ツールはありません。しかし、それは信頼できるようです。そして、実行中の他のジョブはありません。

4

1 に答える 1

13

カーソルタイムアウトをオフにする方法の詳細については、RubyMongoDBドライバーのFAQを参照してください。

そこからの例:

@collection.find({}, :timeout => false) do |cursor|
   cursor.each do |document
     # Process documents here
   end
end
于 2012-06-06T01:02:18.833 に答える