2012-06-05 3 views
9

Wie lege ich eine Option ohne Zeitüberschreitung für den Cursor fest?Wie lege ich eine Option ohne Zeitüberschreitung für den Cursor fest?

Ich kann den Job manuell und von meinem Laptop laufen, aber etwas auf dem Server geht und die ganze Zeit ich diese Störung erhalte:

MongoDB cursor.refresh() für Cursor xxx Abfrage Antwort zurückgegeben CURSOR_NOT_FOUND. Entweder wurde ein ungültiger Cursor angegeben, oder der Cursor ist möglicherweise auf dem Server abgelaufen. MongoDB cursor.refresh() für Cursor yyy

Der Job von einem Rubin-Scheduler läuft, dass Datei und wird als Namespace in Rake Rake angegeben wird für einen weiteren Modul Rubin in der Mitte ruft, und der Job stirbt während der Ausführung dieses Moduls

Ich fragte diese Frage earlier und es wurde downvoted. Bitte, anstatt nach unten zu gehen, erklären, was so dumm ist, weil ich wirklich dieses Problem lösen muss und nicht herausfinden kann, was vor sich geht.

Der Server ist experimentell und hat keine Überwachungswerkzeuge. Aber es scheint zuverlässig zu sein. Und es laufen keine anderen Jobs.

Antwort

11

Weitere Informationen zum Deaktivieren des Zeitlimits für den Cursor finden Sie unter FAQ für den Ruby MongoDB-Treiber.

Beispiel von dort:

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