Sto eseguendo Celery 3.1.16 con un back-end RabbitMQ 3.4.1 e utilizzando Flower 0.7.3 su Python3.4 per monitorare i miei compiti di sedano. Ho diverse attività in esecuzione e posso visualizzare i risultati nella scheda attività di Celery Flower.Come visualizzare tutti i grafici nella scheda di Celery Flower Monitor
Nella scheda monitor
, ci sono 4 sezioni. Attività completate, attività non riuscite, orari delle attività e broker. Di questi 4, solo la vista Broker mostra un grafico 'traffico'. Esiste un'impostazione per consentire agli altri grafici di mostrare alcune statistiche?
flowerconfig.py
# Broker settings
BROKER_URL = 'amqp://guest:[email protected]:5672//'
# RabbitMQ management api
broker_api = 'http://guest:[email protected]:15672/api/'
#Port
port = 5555
# Enable debug logging
logging = 'INFO'
Supervisore: flower.conf
[program:flower]
command=/opt/apps/venv/my_app/bin/celery flower --app=celery_conf.celeryapp --conf=flowerconfig
directory=/opt/apps/my_app/celery_conf
user=www-data
autostart=true
autorestart=true
startsecs=10
redirect_stderr=true
stderr_logfile=/var/log/celery/flower.err.log
stdout_logfile=/var/log/celery/flower.out.log
Mentre erano in esso, nel grafico Broker, ho due code uno verde del othe rosso. Tuttavia, quello che mostra nel grafico è quello rosso, ma entrambi sono in esecuzione e posso visualizzare i risultati dalla finestra Attività.
ho notato qualcosa di strano nel Scheda Configurazione sotto lavoratori Tab in Fiore. Il CELERY_ROUTE e CELERY_QUEUES stanno mostrando liste come vuoti, mentre tutti gli altri campi sembrano raccolti i dati corretti dal file celeryconfig
BROKER_URL amqp://guest:********@localhost:5672//
CELERYBEAT_SCHEDULE {}
CELERYD_PREFETCH_MULTIPLIER 0
CELERY_ALWAYS_EAGER False
CELERY_AMQP_TASK_RESULT_EXPIRES 60
CELERY_CREATE_MISSING_QUEUES False
CELERY_DEFAULT_EXCHANGE default
CELERY_DEFAULT_QUEUE default
CELERY_DEFAULT_ROUTING_KEY ********
CELERY_IMPORTS ['student.admission', 'student.schedule']
CELERY_INCLUDE ['celery.app.builtins', 'student.schedule', 'student.admission']
CELERY_QUEUES [{}, {}, {}, {}, {}] #<==== Should it show an empty list?
CELERY_RESULT_BACKEND amqp://guest:[email protected]:5672//
CELERY_ROUTES [{}, {}, {}, {}] #<==== Should it show an empty list?
CELERY_STORE_ERRORS_EVEN_IF_IGNORED True
CELERY_TASK_RESULT_EXPIRES 3600
Il celeryconfig.py si presenta come di seguito:
BROKER_URL = 'amqp://guest:[email protected]:5672//'
CELERY_RESULT_BACKEND = 'amqp://guest:[email protected]:5672//'
#Task settings
CELERY_TASK_RESULT_EXPIRES = 3600
CELERY_AMQP_TASK_RESULT_EXPIRES = 60
CELERYD_PREFETCH_MULTIPLIER = 0
CELERY_ALWAYS_EAGER = False
CELERY_CREATE_MISSING_QUEUES = False
CELERY_STORE_ERRORS_EVEN_IF_IGNORED = True
#Scripts to be imported
CELERY_IMPORTS=('student.admission', 'student.schedule')
#Celery Exchanges, Queues, Routes
default_exchange = Exchange('default', type='direct')
student_admission_exchange = Exchange('student_admission_exchange', type='direct', durable=False)
CELERY_QUEUES = (
Queue('default', default_exchange, routing_key='default'),
Queue('student_admission_queue', student_admission_exchange, routing_key='admission', durable=False),
)
CELERY_ROUTES = (
{'student.admission.admit': {'queue': 'student_admission_queue','routing_key': 'admission'}},
)
CELERY_DEFAULT_QUEUE = 'default'
CELERY_DEFAULT_EXCHANGE = 'default'
CELERY_DEFAULT_ROUTING_KEY = 'default'
Modifica
Come vedo non sono l'unico bloccato su questo, anche se includo lo screenshot dei grafici "mancanti" come guida.
Penso che la cosa migliore che potresti fare sia aprire un problema sul bug tracker di Flower GitHub. Non penso che le impostazioni CELERY_ROUTES e CELERY_QUEUES mancanti abbiano nulla a che fare con questo; grepping attraverso la fonte non mostra che vengano usati ovunque. Fonte: ho lo stesso problema. – jvkersch