2011-05-21 33 views
14

Cuando corro syncdb, puedo tener una gran cantidad de tablas creadas como:¿Para qué sirven las tablas django-apio (djcelery)?

  • djcelery_crontabschedule
  • ...
  • djcelery_taskstate

django-kombu está proporcionando el transporte, por lo que puede estar relacionado con la cola real. Incluso cuando ejecuto tareas, todavía no veo nada poblado en estas tablas. ¿Para qué se usan estas tablas? Solo con fines de monitoreo: ¿si lo habilito?

Si es así, ¿también es cierto que si realizo una búsqueda de AsyncResult(), supongo que en realidad está buscando el resultado de la tarea a través de las tablas django-kombu en lugar de djcelery?

Gracias.

Respuesta

13

La tabla task_state apio, poblada por la celerycam demonio, es sólo para propósitos de monitoreo.

Las otras tablas, como "crontabschedule" "intervalos", etc., son para la programación de tareas periódicas mediante el uso de la base de datos back-end Django. Estas tablas se utilizan cuando se inicia el apio en el modo de ritmo (-B) y cuando se tiene este conjunto var en la configuración de

CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler" 

De esta manera se dirá apio utilizar el PP Django para programar tareas.

Cuestiones relacionadas