Articles of apio

Apio ¿Por qué la tarea se queda en la cola

Así que estoy usando apio con RabbitMQ. Tengo una API RESTful que registra un usuario. Estoy usando el trabajador remoto de Celery para enviar un correo electrónico de registro de forma asíncrona para que mi API pueda devolver una respuesta rápida. from .tasks import send_registration_email def register_user(user_data): # save user to the database etc send_registration_email.delay(user.id) […]

Problemas con el nuevo estilo api apio.

Tengo una clase que amplía la Task celerys. Funciona bien con la API de estilo antiguo, pero tengo problemas para convertirla a la nueva API. # In app/tasks.py from celery import Celery, Task celery = Celery() @celery.task class CustomTask(Task): def run(self, x): try: # do something except Exception, e: self.retry(args=[x], exc=e) Y luego ejecuto la […]

Implementación de devoluciones de llamadas diferidas locales de estilo retorcido en Celery

Soy bastante nuevo en el uso de Celery y me preguntaba cómo se pueden implementar las devoluciones de llamadas diferidas de tipo TWSITED en Celery MI CÓDIGO TWISTED utiliza un agente de perspectiva y es el siguiente. Tengo un controlador (servidor) que controla algunos eventos y devuelve el resultado. El Dispatcher (Cliente) imprime el resultado […]

Variables de apio trabajador compartiendo problemas

Estoy usando Python y apio en un proyecto. En el proyecto, tengo dos archivos: celeryconfig.py BROKER_URL = “amqp://guest:guest@localhost:5672//” CELERY_RESULT_BACKEND = “amqp” CELERY_IMPORTS = (“example”,) CELERYD_CONCURRENCY = 2 y example.py from celery.task import task import hashlib md5 = hashlib.md5() @task def getDigest(text): print ‘Using md5 – ‘,md5 md5.update(text) return md5.digest() En celeryconfig.py , configuré CELERYD_CONCURRENCY en […]

Ejecutar mientras bucle concurrentemente con el servidor Flask

Estoy actualizando algunos LEDs usando python. He estado haciendo esto así from LEDs import * myLEDs = LEDs() done = False while not done: myLEDs.iterate() Quería usar Flask para actuar como un puente entre una interfaz de ReactJS de buen aspecto que puedo ejecutar en mi navegador (para cambiar el patrón actual, etc.) y el […]

MongoEngine y lidiando con “UserWarning: MongoClient abrió antes de la bifurcación. Cree MongoClient con connect = False, o cree un cliente después de bifurcar ”

Estoy usando Celery y MongoEngine como parte de mi aplicación Django con. Recibo esta advertencia, cuando un apio @shared_task accede a la base de datos mongodb a través de las clases del modelo mongoengine: UserWarning: MongoClient opened before fork. Create MongoClient with connect=False,or create client after forking. See PyMongo’s documentation for details: http://api.mongodb.org/python/current/faq.html#using-pymongo-with-multiprocessing Claramente, tiene […]

Ejecutando múltiples instancias de apio en el mismo servidor.

Quiero ejecutar dos instancias de apio en la misma máquina. Una es para la versión ‘A’ de mi aplicación, la otra es para la versión ‘B’. Tengo dos instancias, que empiezo así: (env1)/home/me/firstapp$ celery -A app.tasks worker –config celeryconfig (env2)/home/me/secondapp$ celery -A app.tasks worker -n Carrot –config celeryconfig En tasks.py en cada aplicación, creo una […]

Compartir las áreas de memoria entre los trabajadores de apio en una máquina

Quiero compartir pequeños fragmentos de información entre mis nodos de trabajo (por ejemplo, tokens de autorización almacenados en caché, estadísticas, …) en apio. Si creo un archivo global dentro de mis tareas, es único por trabajador (Mis trabajadores son procesos y tienen una vida útil de 1 tarea / ejecución). cual es la mejor practica? […]

Usuario incorrecto para apio supervisor

Tengo algunas tareas periódicas que ejecuto con apio (demonizadas por supervisord), pero después de intentar crear un directorio en el directorio de inicio para el usuario que configuré para el proceso del supervisor, recibí un error de “permiso denegado”. Después de ver el os.environ en una tarea de apio en ejecución, me di cuenta de […]

Apio: no se permiten procesos demoníacos para tener hijos.

En Python (2.7) trato de crear procesos (con multiprocesamiento) en una tarea de apio (apio 3.1.17) pero da el error: daemonic processes are not allowed to have children Buscando en Google, encontré que las versiones más recientes de billar corrigen el “error” pero tengo la versión más reciente (3.3.0.20) y el error sigue ocurriendo. También […]