Articles of apio

Errores de encuadre en el apio 3.0.1

Recientemente actualicé a Celery 3.0.1 desde 2.3.0 y todas las tareas se ejecutan bien. Desafortunadamente. Estoy recibiendo una excepción de “error de marco” con bastante frecuencia. También estoy ejecutando supervisor para reiniciar los subprocesos, pero como estos nunca se eliminan realmente, el supervisor no tiene forma de saber que el apio debe reiniciarse. ¿Alguien ha […]

Error de “tarea desconocida” en Celery Flower al publicar una nueva tarea

Estoy ejecutando apio 3.1.11 y flor 0.6.0. Tengo una aplicación de apio configurada como tal; # myapp.tasks.celery.py from __future__ import absolute_import from celery import Celery class Config(object): BROKER_URL = ‘amqp://’ CELERY_RESULT_BACKEND = ‘amqp’ CELERY_TASK_RESULT_EXPIRES = None CELERY_RESULT_SERIALIZER = ‘json’ CELERY_INCLUDE = [ ‘myapp.tasks.source’, ‘myapp.tasks.page’, ‘myapp.tasks.diffusion’, ‘myapp.tasks.place’, ] ) celery = Celery(‘myapp’) celery.config_from_object(Config) if __name__ == […]

El uso de la agrupación de multiprocesamiento de la tarea de apio genera una excepción

PARA AQUELLOS QUE LEEN ESTO: he decidido utilizar RQ, que no falla cuando se ejecuta el código que utiliza el módulo de multiprocesamiento. Te sugiero que uses eso. Estoy tratando de usar un grupo de multiprocesamiento dentro de una tarea de apio usando Python 3 y redis como intermediario (ejecutándolo en una Mac). Sin embargo, […]

¿No se puede conectar a la tarea de apio desde una señal de apio?

Estoy tratando de conectar task2 de la señal task_success from celery.signals import task_success from celery import Celery app = Celery() @app.task def task1(): return ‘t1’ @app.task def task2(): return ‘t2’ task_success.connect(task2, sender=task1) Cuando corro este código, su lanzamiento. TypeError: cannot create weak reference to ‘PromiseProxy’ object Si elimina el decorador app.task para task2, funciona perfectamente. […]

Fugas de memoria Django 1.6 y Celery 3.0

Después de actualizar Django a 1.6, mi trabajador de apio está consumiendo RAM. Parece que la memoria asignada para los trabajadores no se libera y crece después de cada tarea. Ajustes relacionados: # DB: DATABASES = { ‘default’: { ‘ENGINE’: ‘django.db.backends.postgresql_psycopg2’, ‘NAME’: ‘somedb’, ‘USER’: ”, ‘PASSWORD’: ”, ‘HOST’: ‘localhost’, ‘PORT’: ”, } } # CELERY […]

Leer configuración de apio desde el archivo de propiedades de Python

Tengo una aplicación que necesita inicializar el apio y otras cosas (por ejemplo, la base de datos). Me gustaría tener un archivo .ini que contuviera la configuración de las aplicaciones. Esto se debe pasar a la aplicación en tiempo de ejecución. desarrollo.init: [celery] broker=amqp://localhost/ backend=amqp://localhost/ task.result.expires=3600 [database] # database config # … celeryconfig.py: from celery […]

Apio: ¿cómo puedo encaminar una tarea fallida a una cola de mensajes no entregados?

Soy un principiante en apio e bash integrar esta cola de tareas en mi proyecto, pero todavía no entiendo cómo el apio maneja las tareas fallidas y me gustaría mantener a todos en una cola de mensajes no entregados. De acuerdo con el documento aquí , parece que el aumento de Rechazar en una tarea […]

apio tratando de apagar al trabajador elevando SystemExit en task_postrun señal pero siempre se cuelga y el proceso principal nunca sale

Estoy intentando apagar el proceso de apio principal mediante raisin SystemExit () en la señal task_postrun. La señal se dispara bien, y la excepción se eleva, pero el trabajador nunca sale por completo y simplemente cuelga allí. ¿CÓMO HAGO ESTE TRABAJO? ¿Estoy olvidando algún escenario en algún lugar? A continuación se muestra el código que […]

Capturar a Heroku SIGTERM en trabajadores de apio para cerrar al trabajador con gracia

He investigado un montón sobre esto, y me sorprende que no haya encontrado una buena respuesta a esto todavía en ninguna parte. Estoy ejecutando una aplicación grande en Heroku, y tengo ciertas tareas de apio que se ejecutan durante mucho tiempo en el procesamiento, y al final de la tarea, guardar un resultado. Cada vez […]

Apio auto recarga en CUALQUIER cambio.

Podría hacer que el apio se vuelva a cargar automáticamente cuando haya cambios en los módulos en CELERY_IMPORTS en settings.py . Intenté dar módulos de la madre para detectar cambios incluso en módulos secundarios, pero no detectó cambios en los módulos secundarios. Eso me hace entender que la detección no se hace recursivamente por el […]