Articles of apio

Los resultados de la tarea de apio no persistieron con rpc

He estado tratando de que los resultados de la tarea de apio se enruten a otro proceso haciendo que los resultados se conserven en una cola y otro proceso puede seleccionar los resultados de la cola. Por lo tanto, han configurado el apio como CELERY_RESULT_BACKEND = ‘rpc’, pero aún así la función de Python devolvió […]

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 . […]

Tareas periódicas de apio que no se ejecutan.

Estoy aprendiendo apio y creé un proyecto para probar mi configuración. Instalé celery==4.0.0 y django-celery-beat==1.0.1 acuerdo con la documentación más reciente. En drf_project (directorio principal del proyecto con manage.py) /drf_project/celery.py from __future__ import absolute_import, unicode_literals from celery import Celery import os os.environ.setdefault(‘DJANGO_SETTINGS_MODULE’, ‘drf_project.settings’) app = Celery(‘drf_project’) app.config_from_object(‘django.conf:settings’, namespace=’CELERY’) app.autodiscover_tasks() En drf_project / drf_project / settings.py […]

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 […]

Tornado apio no puede usar gen.Task o CallBack

class AsyncHandler(tornado.web.RequestHandler): @tornado.web.asynchronous def get(self): tasks.sleep.apply_async(args=[5], callback=self.on_result) def on_result(self, response): self.write(str(response.result)) self.finish() error de subida raise TypeError(repr(o) + ” is not JSON serializable”) TypeError: <bound method AsyncHandler.on_result of > is not JSON serializable El broker y los backends usan redis, acabo de copiar desde https://github.com/mher/tornado-celery Cuando uso amqp broker y redis backends, funciona bien, pero […]

Trabajadores de apio no pueden conectarse a redis en instancias de docker

Tengo una configuración acoplable que ejecuta una aplicación Django en la que utilizo las tareas de Celery. El apio usa a Redis como el corredor. Versiones: Versión de Docker 17.09.0-ce, comstackción afdb6d4 docker-compose versión 1.15.0, comstackción e12f3b9 Django == 1.9.6 django-celery-beat == 1.0.1 apio == 4.1.0 apio [redis] redis == 2.10.5 Problema: Mis trabajadores de […]

Python apio: recupera argumentos de tareas si hay una excepción

Estoy empezando con Celery y Python, y tengo una pregunta que es probablemente muy simple, pero parece que no puedo encontrar ninguna respuesta adecuada en torno a … Si tengo un montón de tareas, y una de ellas lanza una excepción, ¿hay alguna forma de recuperar los argumentos que se pasaron a dicha tarea? Por […]

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 […]

AsyncResult (task_id) devuelve el estado “PENDIENTE” incluso después de que se inició la tarea

En el proyecto, trato de sondear task.state de una tarea de larga ejecución y actualizar su estado de ejecución. Funcionó en el desarrollo, pero no funcionará cuando muevo el proyecto al servidor de producción. Seguí recibiendo “PENDIENTES”, incluso cuando veo que la tarea comenzó en la flor. Sin embargo, todavía puedo obtener los resultados actualizados […]

invocar la tarea de apio de tornado

¿Cómo puede alguien invocar una tarea de apio desde un tornado y obtener el resultado a través de una callback? Esta publicación afirma que alguien simplemente debe poner un mensaje a través de RabbitMQ y luego la tarea se ejecutará. Esto tiene sentido, pero ¿puede alguien dar un ejemplo en python (incluso mejor en tornado, […]