2011-06-28 9 views
8

Estoy colocando varias tareas en una cola de tareas y me gustaría saber cuándo se realizan las tareas específicas. No he encontrado nada en la API sobre las rellamadas o el estado de una tarea, así que pensé que vería lo que hacen otras personas, o si hay una forma de verificar el trabajo (u oficial). No me importan las tareas individuales, si me sirve, incluiré 6 tareas diferentes y quiero saber cuándo se completaron las 6.Comprobando el estado de Task Queue en Google App Engine

Gracias!

Respuesta

4

La nueva API de cola de tareas REST/JSON le permitirá hacer esto.

http://code.google.com/appengine/docs/python/taskqueue/rest.html

Esto no se adapta bien a miles de tareas ...

me gusta la sugerencia API tubería sin embargo!

+0

¿Puede explicarnos cómo la nueva API de cola de tareas logra esto? Puede OBTENER una tarea, pero no parece incluir ningún tipo de estado o indicación de éxito o falla. –

1

Puede usar memcache. Use una clave única específica para este grupo de tareas. Establezca un recuento cuando inicie sus tareas y haga que cada tarea disminuya atómicamente. Cuando el valor es 0, tus tareas están completas. La tarea que encuentra que este valor es 0 puede llamar a su devolución de llamada.

+2

¿Qué pasa con la posibilidad de que el Memcache pueda desaparecer ya que no se garantiza su permanencia? Solo hacer una copia de seguridad en un almacén de datos no es suficiente debido a las condiciones de carrera durante el guardado. ¿Cómo lidia uno con eso? –

+1

Creo que puede lidiar con las condiciones de carrera al guardar en el almacén de datos mediante el uso de una transacción. –