Articles of apio

Django-apio: Pasar solicitud de objeto a trabajador

¿Cómo puedo pasar el objeto de solicitud de django al trabajador de apio? Cuando se intenta pasar el objeto de solicitud se produce un error. Can’t Pickle Input Objects Parece que el apio serializa cualquier argumento pasado al trabajador. Intenté usar otros métodos de serialización como JSON. CELERY_TASK_SERIALIZER = “JSON” Pero no está funcionando. ¿Es […]

El apio no recoge la configuración de CELERY_ALWAYS_EAGER

Estoy ejecutando Django 1.8 + Celery 4.0.2. El apio está bien configurado y puedo ejecutar mis tareas Django localmente en redis backend. Pero cuando trato de usar CELERY_ALWAYS_EAGER = True Configuración CELERY_ALWAYS_EAGER = True , esta configuración no tiene efecto. Lo que no es el caso con otras configuraciones, por ejemplo, CELERY_TIMEZONE Específicamente, en pdb […]

Django apio – asíncio – proceso demoníaco no se les permite tener hijos

Puedo ver preguntas similares que se han hecho antes, pero esas ejecutan procesadores múltiples y no ejecutores. Por lo tanto, no estoy seguro de cómo solucionar este problema. El problema de GitHub también dice que se resolvió en 4.1 https://github.com/celery/celery/issues/1709 estoy usando celery==4.1.1 django-celery==3.2.1 django-celery-beat==1.0.1 django-celery-results==1.0.1 Mi secuencia de comandos de la siguiente manera, he […]

django / apio – estado de apio: Error: No hay nodos respondidos dentro de la restricción de tiempo

Estoy intentando implementar un ejemplo simple de apio en mi servidor de producción, he seguido el tutorial en el sitio web de apio sobre cómo ejecutar apio como demonio http://docs.celeryproject.org/en/latest/tutorials/daemonizing.html #daemonizing , y obtuve el archivo de configuración en / etc / default / celeryd 1 # Nombre de los nodos para iniciar 2 # […]

Objeto accesible globalmente en todos los trabajadores de Celery / memoria caché en Django

Tengo una configuración bastante estándar de Django + Rabbitmq + Apio con 1 tarea de apio y 5 trabajadores. La tarea carga el mismo archivo grande (~ simplifico un poco) (~ 100MB) de forma asíncrona a una cantidad de PC remotas. Todo funciona bien a costa de usar mucha memoria, ya que cada tarea / […]

Estado de tareas y django-apio.

Uso django-apio y tengo una tarea como esta: class TestTask(Task): name = “enabler.test_task” def run(self, **kw): debug_log(“begin test task”) time.sleep(5) debug_log(“end test task”) def on_success(self, retval, task_id, args, kwargs): debug_log(“on success”) def on_failure(self, retval, task_id, args, kwargs): debug_log(“on failure”) Yo uso el shell django para ejecutar la tarea: python manage.py shell r = tasks.TestTask().delay() Desde […]

La statement de impresión en la tarea progtwigda de apio no aparece en el terminal

Cuando ejecuto celery -A tasks2.celery worker -B Quiero ver “tarea de apio” impresa cada segundo. Actualmente no se imprime nada. ¿Por qué no funciona esto? from app import app from celery import Celery from datetime import timedelta celery = Celery(app.name, broker=’amqp://guest:@localhost/’, backend=’amqp://guest:@localhost/’) celery.conf.update(CELERY_TASK_RESULT_EXPIRES=3600,) @celery.task def add(x, y): print “celery task” return x + y CELERYBEAT_SCHEDULE […]

Apio – una tarea en un segundo

Uso Celery para hacer solicitudes al servidor (en tareas). Tengo límite rígido: solo 1 solicitud en un segundo (desde una ip). Leí esto , así que es lo que quiero – 1 / s. En celeryconfig.py tengo: CELERY_DISABLE_RATE_LIMITS = False CELERY_DEFAULT_RATE_LIMIT = “1/s” Pero tengo los mensajes, que tengo demasiadas solicitudes por segundo. En call.py […]

Proceso de cola de tareas asíncronas de la estructura de datos en memoria en Django

Tengo una estructura de datos en memoria singleton dentro de mi proyecto Django (algún tipo de kd-tree que necesita acceso en todo el proyecto). Para aquellos que no conocen Django, creo que el mismo problema aparecería con un código Python normal. Sé que es malo (Singleton), y estoy buscando mejores formas de implementar eso, pero […]

Cómo usar la prioridad en el apio task.apply_async

Tengo una cola de test en el apio y he definido una tarea para ello: @celery_app.task(queue=’test’, ignore_result=True) def priority_test(priority): print(priority) que acaba de imprimir el argumento. Quiero establecer el atributo de priority que se define aquí para appy_async . Por lo tanto, escribí un for loop como este: for i in range(100): priority_test.apply_async((i%10,), queue=”test”, priority=i%10) […]