Articles of rabbitmq

Lista de apio progtwigda devuelve Ninguno

Soy bastante nuevo en Celery y he estado intentando configurar un script simple para progtwigr y anular tareas. Sin embargo, siento que estoy teniendo un problema extraño. Tengo la siguiente configuración from celery import Celery app = Celery(‘celery_test’, broker=’amqp://’, backend=’amqp’) @app.task def add(x, y): return x + y Arranco mi servidor de apio muy bien […]

Cómo conectar el apio a rabbitMQ usando SSL

Estoy tratando de conectar apio con un agente de rabbitMQ usando certificados SSL. Este es el código: from celery import Celery import ssl broker_uri = ‘amqp://user:pwd@server:5672/vhost’ certs_conf = { “ca_certs”: “/certs/serverca/cacert.pem”, “certfile”: “/certs/client/rabbit-cert.pem”, “keyfile”: “/certs/client/rabbit-key.pem”, “cert_reqs”: ssl.CERT_REQUIRED } app = Celery(‘tasks’, broker=broker_uri) app.conf.update(BROKER_USE_SSL=certs_conf) app.send_task(‘task.name’, [{‘a’: 1}]) Cuando bash ejecutar este código obtengo la siguiente excepción: […]

Apio: ¿cómo limitar el número de tareas en la cola y dejar de alimentar cuando está lleno?

Soy muy nuevo en Celery y aquí está la pregunta que tengo: Supongamos que tengo un script que se supone que constantemente busca datos nuevos de la base de datos y los envía a los trabajadores usando Celery. tareas.py # Celery Task from celery import Celery app = Celery(‘tasks’, broker=’amqp://guest@localhost//’) @app.task def process_data(x): # Do […]

pika.exceptions.ProbableAuthenticationError al intentar enviar un mensaje a la cola remota

Estoy tratando de ejecutar RabbitMQ Python tutorial pero con el remitente en la máquina host de virtualbox y el receptor y la cola en la máquina de huésped virtualbox. Así que modifiqué el código send.py mencionado al reemplazar solo localhost con 192.168.1.5 . Cuando lo ejecuto, recibo el siguiente error: … File “/home/damian/.virtualenvs/kivy_1.9/local/lib/python2.7/site-packages/pika/adapters/base_connection.py”, line 153, […]

RabbitMQ / Celery with Django se cuelga en delay / ready / etc – No hay información de registro útil

Así que acabo de configurar apio y rabbitmq, creé mi usuario, configuré el host virtual, asigné al usuario al host virtual y ejecuté el demonio de apio con éxito (o eso supongo) (queuetest)corky@corky-server:~/projects/queuetest$ ./manage.py celeryd celery@corky-server v0.9.5 is starting. Configuration -> . broker -> amqp://celery@localhost:5672/ . queues -> . celery -> exchange:celery (direct) binding:celery . […]

Notificar a apio tarea de cierre trabajador

Estoy usando apio 2.4.1 con python 2.6, el servidor de rabbitmq y django. Me gustaría que mi tarea fuera capaz de limpiar correctamente si el trabajador se cierra. Por lo que sé, no se puede suministrar un destructor de tareas, así que intenté conectarme a la señal worker_shutdown . Nota: AbortableTask solo funciona con el […]

Establecer tiempo de espera para Pika ioloop async (RabbitMQ)

Necesito poder detener con gracia a un consumidor (trabajador) que trabaja en un ioloop de Pika. El trabajador debe detenerse después de 60 segundos. Los mensajes procesados ​​actualmente deben estar terminados. Intenté poner un connection.close() dentro de la función de callback, pero eso solo detuvo el hilo actual y no el ioloop completo. Y dio […]

El apio se cierra inesperadamente después de una inactividad más prolongada

Así que estoy usando un RabbitMQ + Celery para crear una architecture RPC simple. Tengo un agente de mensajes RabbitMQ y un trabajador remoto que ejecuta Celery Deamon. Hay un tercer servidor que expone una API RESTful delgada. Cuando recibe una solicitud HTTP, envía una tarea al trabajador remoto, espera una respuesta y devuelve una […]

Cómo agregar una clave de encabezado: par de valor al publicar un mensaje con pika

Estoy escribiendo una prueba automatizada para probar un consumidor. Hasta ahora no necesité incluir un encabezado al publicar mensajes, pero ahora sí. Y parece que falta documentación. Este es mi editor: class RMQProducer(object): def __init__(self, host, exchange, routing_key): self.host = host self.exchange = exchange self.routing_key = routing_key def publish_message(self, message): connection = pika.BlockingConnection(pika.ConnectionParameters(self.host)) channel = […]

Django Celery tutorial no devolver resultados

UDATE3: encontré el problema. Vea la respuesta a continuación. ACTUALIZACIÓN2: Parece que podría haber estado lidiando con un problema de nomenclatura automática e importación relativa al ejecutar el tutorial de djcelery a través del shell manage.py, ver más abajo. Todavía no funciona, pero ahora recibo nuevos mensajes de error de registro. Vea abajo. ACTUALIZACIÓN: he […]