Pregunta de novatos a Rabbitmq y Celery
-
26-10-2019 - |
Pregunta
Empecé a jugar con Celery y RabbitMQ esta mañana y definí algunas tareas básicas para ver cómo el rendimiento mejorará en mi servidor.
He agregado mi usuario de RabbitMQ, Vhosts y establecí mis permisos. Comencé mi servidor RabbitMQ
En un tutorial muy detallado, descubrí que estos tipos usan Ceyrybeat y Ceyerd para ver el estado de alguna tarea, y también para ejecutarlos.
El tutorial detallado de Rich Leland
¿También necesitas apio de alguna manera, o son los pasos que he tomado?
En ninguna parte vi ninguna información o nota sobre esto ... solo preguntando
Solución
Bueno, necesitará tener algún tipo de proceso de apio para manejar las tareas en la cola. El proceso Cayeryd escucha la cola y ejecuta tareas de acuerdo con su configuración. Si no tiene un proceso Celeryd en ejecución, solo agregará tareas a la cola, pero nunca lo vaciará.
Si solo está interesado en ver sus colas, recomendaría instalar el Complemento de gestión de rabbitmq.
Otros consejos
http://ask.github.com/celery/getting-started/introduction.html
- Inicie su servidor RabbitMQ
- Defina su CayeryConfig.py
- Comience su apio Daemon: Celeryd
RabbitMQ tiene un inicio de sesión de invitados, por lo que es una forma más rápida de comenzar. Pon esto en CeyeryConfig.py:
import sys
sys.path.append('.')
BROKER_HOST = "localhost"
BROKER_PORT = 5672
BROKER_USER = "guest"
BROKER_PASSWORD = "guest"
BROKER_VHOST = "/"
CELERY_RESULT_BACKEND = "amqp"
CELERY_IMPORTS = ("tasks",)
Para una prueba rápida, ponlo en tareas.
from celery.task import task
@task
def add(x, y):
return x + y
if __name__ == "__main__":
result = add.delay(4, 4)
result.wait()
Iniciar Ceyeryd en el mismo directorio tiene CeyeryConfig.py y Tasks.py:
celeryd --loglevel=INFO
Finalmente, ejecute tareas.py