Articles of apio

Celery & RabbitMQ ejecutándose como contenedores de ventana acoplable: se recibió una tarea no registrada de tipo ‘…’

Soy relativamente nuevo en docker, apio y rabbitMQ. En nuestro proyecto, actualmente tenemos la siguiente configuración: 1 host físico con varios contenedores de ventana acoplable en ejecución: 1x rabbitmq: contenedor de 3 gestiones # pull image from docker hub and install docker pull rabbitmq:3-management # run docker image docker run -d -e RABBITMQ_NODENAME=my-rabbit –name some-rabbit […]

Apio AttributeError: error asíncrono

Tengo RabbitMQ y Celery ejecutándose localmente en mi Mac (OS / X 10.13.4), el siguiente código funciona localmente cuando ejecuto add.delay (x, y): #!/usr/bin/env python from celery import Celery from celery.utils.log import get_task_logger logger = get_task_logger(__name__) app = Celery(‘tasks’, \ broker=’pyamqp://appuser:xx@c2/appvhost’, \ backend=’db+mysql://appuser:xx@c2/pigpen’) @app.task(bind=True) def dump_context(self, x, y): print(‘Executing task id {0.id}, args: {0.args!r} kwargs […]

Django, ImportError: no se puede importar el apio de nombre, ¿posible importación circular?

Pasé por este ejemplo aquí: http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html Todas mis tareas están en archivos denominados task.py. Después de actualizar el apio y agregar el archivo del ejemplo, django está lanzando el siguiente error, no importa lo que intente: ImportError: cannot import name Celery ¿El problema es posiblemente causado por lo siguiente? app.autodiscover_tasks(settings.INSTALLED_APPS, related_name=’tasks’) Porque pasa por todos […]

Cómo rechazar la serialización de pepinillos en el apio.

Celery utiliza de forma predeterminada el pickle como método de serialización para las tareas. Como se señaló en las preguntas frecuentes , esto representa un agujero de seguridad. Celery le permite configurar cómo se serializan las tareas utilizando el parámetro de configuración CELERY_TASK_SERIALIZER . Pero esto no resuelve el problema de seguridad. Incluso si las […]

¿Cómo puedo ejecutar una tarea periódica de apio desde el shell manualmente?

Estoy usando apio y django-apio. He definido una tarea periódica que me gustaría probar. ¿Es posible ejecutar la tarea periódica desde el shell manualmente para que vea la salida de la consola?

Torcido o apio? ¿Cuál es el adecuado para mi aplicación con muchas llamadas de SOAP?

Estoy escribiendo una aplicación de Python que necesita concurrencia y asincronicidad. He recibido algunas recomendaciones para Twisted y Celery, pero tengo problemas para determinar cuál es la mejor opción para esta aplicación (tampoco tengo experiencia en esto). La aplicación (que no es una aplicación web) se centra principalmente en hacer llamadas SOAP a varias API […]

¿Cómo configurar trabajadores de apio en máquinas separadas?

Soy nuevo en apio. Sé cómo instalar y ejecutar un servidor, pero necesito distribuir la tarea a varias máquinas. Mi proyecto utiliza apio para asignar solicitudes de usuario que pasan a un marco web a diferentes máquinas y luego devuelve el resultado. Leí la documentación, pero no menciona cómo configurar varias máquinas. ¿Qué me estoy […]

Cómo detener el proceso de apio trabajador.

Tengo un proyecto Django en un nodo de Ubuntu EC2, que he estado usando para configurar un asíncrono usando Celery . Estoy siguiendo esto junto con los documentos. He podido obtener una tarea básica trabajando en la línea de comandos, usando: (env1)ubuntu@ip-172-31-22-65:~/projects/tp$ celery –app=myproject.celery:app worker –loglevel=INFO Para iniciar un trabajador. Desde entonces, hice algunos cambios […]

Apio, kombu y django – error de importación

Estoy ejecutando una aplicación con django, y quería usar apio para hacer algunas tareas progtwigdas. Según los documentos oficiales , en mi archivo settings.py configuré el transporte del agente BROKER_URL = ‘django://’ y agregó kombu.transport.django a las aplicaciones instaladas INSTALLED_APPS = ( …. ‘kombu.transport.django’, ….) Sin embargo, cuando bash sincronizar la base de datos, con […]

¿Cómo capturo las tareas de apio durante las pruebas unitarias?

¿Cómo puedo capturar sin ejecutar las tareas de apio creadas durante una prueba de unidad? Por ejemplo, me gustaría escribir una prueba que se parece a esto: def test_add_user_avatar(): add_user_avatar(…) tasks = get_deferred_tasks(…) assert_equal(tasks[0], ResizeImageTask(…)) Específicamente, no quiero usar ALWAYS_EAGER , algunas de mis tareas son bastante lentas y tienen su propio conjunto de casos […]