2012-06-05 8 views
9

¿Cómo especificar una opción sin tiempo de espera en el cursor?¿Cómo especificar una opción sin tiempo de espera en el cursor?

puedo ejecutar el trabajo manualmente y desde mi ordenador portátil, pero algo está pasando en el servidor y todo el tiempo que estoy recibiendo este error:

cursor.refresh MongoDB() para la respuesta del cursor xxx consulta ha devuelto CURSOR_NOT_FOUND. Se ha especificado un cursor no válido o el cursor puede haber agotado el tiempo de espera en el servidor. mongodb cursor.refresh() para el cursor yyy

El trabajo se corrió de un planificador de rubí que el archivo y se especifica como un espacio de nombres en el rastrillo rastrillo llama a otro módulo de rubí en el medio, y el trabajo muere durante el ejecución de este módulo

Hice esta pregunta earlier y se bajó. Por favor, en lugar de bajar el voto, explica qué es tan estúpido al respecto, porque realmente necesito resolver este problema y no puedo entender qué está pasando.

El servidor es algo experimental y no tiene ninguna herramienta de supervisión. Pero parece ser confiable. Y no hay otros trabajos en ejecución.

Respuesta

11

Consulte el FAQ para el controlador Ruby MongoDB para obtener información sobre cómo desactivar el tiempo de espera del cursor.

Ejemplo de allí:

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