Saltear al contenido principal

Celery – Lenguaje Python

Apio es una implementación de cola de tareas para aplicaciones web de Python que se utiliza para ejecutar de forma asincrónica el trabajo fuera del ciclo de solicitud-respuesta HTTP.

Logotipo del proyecto de cola de tareas de celery.

¿Por qué es útil el celery?

Las colas de tareas y la implementación de Celery en particular son una de las partes más difíciles de entender de una pila de aplicaciones web Python.

Si es un desarrollador junior, puede que no esté claro por qué es importante mover el trabajo fuera del ciclo de solicitud-respuesta HTTP. En resumen, desea que su servidor WSGI responda a las solicitudes entrantes lo más rápido posible porque cada solicitud bloquea un proceso de trabajo hasta que finaliza la respuesta. Quitar el trabajo de esos trabajadores mediante la activación de trabajos asincrónicos como tareas en una cola es una forma sencilla de mejorar los tiempos de respuesta del servidor WSGI.

¿Cuál es la diferencia entre Celeryd y Celerybeat?

El celery se puede utilizar para ejecutar trabajos por lotes en segundo plano en un horario regular. Un concepto clave en Celery es la diferencia entre el demonio Celery (celeryd), que ejecuta tareas, Celerybeat, que es un programador. Piense en Celeryd como un conjunto de visión de túnel de uno o más trabajadores que se encargan de cualquier tarea que les ponga delante. Cada trabajador realizará una tarea y cuando se complete la tarea, retomará la siguiente. El ciclo se repetirá continuamente, solo esperando de brazos cruzados cuando ya no haya más tareas que poner por delante.

Celerybeat, por otro lado, es como un jefe que realiza un seguimiento de cuándo se deben ejecutar las tareas. Su aplicación puede decirle a Celerybeat que ejecute una tarea a intervalos de tiempo, como cada 5 segundos o una vez a la semana. También se puede indicar a Celerybeat que ejecute tareas en una fecha u hora específicas, como las 5:03 pm todos los domingos. Cuando se alcanza el intervalo o el tiempo específico, Celerybeat entregará el trabajo a Celeryd para que lo ejecute en el siguiente trabajador disponible.

Tutoriales y consejos de Celery

El Celery es una herramienta poderosa que puede ser difícil de entender al principio. Asegúrese de leer sobre los conceptos de la cola de tareas y luego sumérjase en estos tutoriales específicos de Celery.

Celery con frameworks web

El Celery se usa normalmente con un marco web como Django, Flask o Pyramid. Estos recursos le muestran cómo integrar la cola de tareas de Celery con el marco web de su elección.

Recursos de implementación de Celery

Celery y su agente se ejecutan por separado de sus servidores web y WSGI, por lo que agrega cierta complejidad adicional a sus implementaciones. Los siguientes recursos lo guían a través de cómo manejar las implementaciones y obtener los ajustes de configuración correctos.

¿Quieres aprender más sobre las colas de tareas u otro tema?

¿Necesitas ayuda para revisar el código de tu proyecto?



Esta entrada tiene 0 comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Volver arriba