Error de “tarea desconocida” en Celery Flower al publicar una nueva tarea

Estoy ejecutando apio 3.1.11 y flor 0.6.0.

Tengo una aplicación de apio configurada como tal;

# myapp.tasks.celery.py from __future__ import absolute_import from celery import Celery class Config(object): BROKER_URL = 'amqp://' CELERY_RESULT_BACKEND = 'amqp' CELERY_TASK_RESULT_EXPIRES = None CELERY_RESULT_SERIALIZER = 'json' CELERY_INCLUDE = [ 'myapp.tasks.source', 'myapp.tasks.page', 'myapp.tasks.diffusion', 'myapp.tasks.place', ] ) celery = Celery('myapp') celery.config_from_object(Config) if __name__ == '__main__': celery.start() 

Ejecuto el trabajador de apio usando el siguiente comando:

 $ celery -A myapp.tasks worker --loglevel=INFO -E -Q celery 

Puedo ver la lista completa de tareas disponibles en la salida del trabajador.

 [tasks] ... . myapp.tasks.diffusion.post_activity ... 

Luego ejecuto el servidor de flores con el siguiente comando:

     $ celery -A myapp.tasks flower 

    Ahora, cada vez que bash publicar una nueva tarea a través de la API de REST de Flower, aparece un error 404 con un mensaje de error “Tarea desconocida TASK_NAME”.

     [W 140423 12:16:17 web:1302] 404 POST /api/task/async-apply/myapp.tasks.diffusion.post_activity (82.225.61.194): Unknown task 'myapp.tasks.diffusion.post_activity' [W 140423 12:16:17 web:1728] 404 POST /api/task/async-apply/myapp.tasks.diffusion.post_activity (82.225.61.194) 4.68ms 

    He puesto un punto de interrupción pdb en el controlador de API de Flower, y parece que las únicas tareas disponibles cuando se manejan las solicitudes son las siguientes:

     ipdb> pp celery.tasks {'celery.backend_cleanup': , 'celery.chain': , 'celery.chord': , 'celery.chord_unlock': , 'celery.chunks': , 'celery.group': , 'celery.map': , 'celery.starmap': } 

    Ninguna tarea parece estar disponible. Sin embargo, cuando uso el método async_apply() la tarea en un shell, el trabajador ejecuta la tarea.

    ¿Alguna idea de lo que estoy haciendo mal? ¡Gracias!

    Edición : cuando estoy usando apio 3.0.19 y flor 0.5.0, funciona aparentemente.

    Este error se debió a un error en Flower y ahora se ha resuelto:

    Problema: https://github.com/mher/flower/issues/200

    Resolución de compromiso: https://github.com/mher/flower/commit/bfba1eec90124c92586c480aebaf98ae63c31276

    Estaba experimentando problemas similares con la flower . Mi configuración estaba utilizando redis.

    La situación ha mejorado en el momento en que comencé a florecer con un valor explícito para la opción “corredor” (no me pregunte por qué)

    En tu situación lo intentaría

     $ flower -r "amqp://" 

    De todos modos, también me aseguraría de que comience el celery y la redis desde un entorno que tenga acceso adecuado a todas sus bibliotecas.