Articles of django apio

Revocar la tarea de apio antes de ejecutar utilizando la base de datos django

Estoy usando la base de datos Django en lugar de RabbitMQ por razones de concurrencia. Pero no puedo resolver el problema de revocar una tarea antes de que se ejecute. Encontré algunas respuestas sobre este asunto, pero no parecen estar completas o no puedo obtener suficiente ayuda. primera respuesta segunda respuesta ¿Cómo puedo extender la […]

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

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

no se puede importar el modelo django en la tarea de apio

Tengo la siguiente tarea: from __future__ import absolute_import from myproject.celery import app from myapp.models import Entity @app.task def add(entity_id): entity = Entity.objects.get(pk=entity_id) return entity.name Obtuve el siguiente error: django.core.exceptions.ImproperlyConfigured: Se solicitó la configuración DEFAULT_INDEX_TABLESPACE, pero la configuración no está configurada. Debe definir la variable de entorno DJANGO_SETTINGS_MODULE o llamar a settings.configure () antes de acceder […]

La consulta de coincidencia de Django no existe después de guardar un objeto en la tarea de Apio

Tengo el siguiente código: @task() def handle_upload(title, temp_file, user_id): . . . photo.save() #if i insert here “photo2 = Photo.objects.get(pk=photo.pk)” it works, including the view function return photo.pk #view function def upload_status(request): task_id = request.POST[‘task_id’] async_result = AsyncResult(task_id) photo_id = async_result.get() if async_result.successful(): photo = Photo.objects.get(pk=photo_id) Utilizo una solicitud ajax para verificar el archivo cargado, […]

django apio: cómo configurar la tarea para que se ejecute en un intervalo específico programáticamente

Descubrí que puedo configurar la tarea para que se ejecute a intervalos específicos en momentos específicos desde aquí , pero eso solo se hizo durante la statement de la tarea. ¿Cómo configuro una tarea para que se ejecute periódicamente de forma dinámica?

¿Cómo puedo desactivar los módulos de administración de Django Celery?

No tengo necesidad de los módulos de apio en mi administrador Django. ¿Hay alguna manera de poder eliminarlo?

Detectar si el apio está disponible / en ejecución

Estoy usando apio para gestionar tareas asíncronas. De vez en cuando, sin embargo, el proceso de apio disminuye, lo que hace que ninguna de las tareas se ejecute. Me gustaría poder verificar el estado del apio y asegurarme de que todo funciona bien y, si detecto algún problema, aparece un mensaje de error para el […]

¿Por qué sería preferible ejecutar las tareas progtwigdas con Celery en lugar de crontab?

Teniendo en cuenta que el apio ya es parte de la stack para ejecutar colas de tareas (es decir, no se está agregando solo para los crons que se ejecutan, lo que parece ser un IMHO excesivo). ¿Cómo puede su función de “tareas periódicas” ser beneficiosa como reemplazo de crontab? Específicamente buscando los siguientes puntos. […]

Apio – Encadenamiento a grupos y subtareas. -> ejecución fuera de orden

Cuando tengo algo como lo siguiente group1 = group(task1.si(), task1.si(), task1.si()) group2 = group(task2.si(), task2.si(), task2.si()) workflow = chain(group1, group2, task3.si()) La interpretación intuitiva es que task3 solo debe ejecutarse después de que todas las tareas del grupo 2 hayan finalizado. En realidad, la tarea 3 se ejecuta mientras el grupo 1 ha comenzado pero […]