Celery es una cola de tareas o cola de trabajos asincrónica de código abierto que se basa en el paso de mensajes distribuidos. Si bien admite la programación, su enfoque está en las operaciones en tiempo real. [1]
Las unidades de ejecución, llamadas tareas , se ejecutan simultáneamente en uno o más nodos de trabajo mediante multiprocesamiento , eventlet [2] o gevent. [3] Las tareas se pueden ejecutar de forma asincrónica (en segundo plano) o sincrónica (esperando hasta que estén listas). Celery se utiliza en sistemas de producción, para servicios como Instagram , para procesar millones de tareas todos los días. [1]
Celery está escrito en Python , pero el protocolo se puede implementar en cualquier lenguaje. También puede funcionar con otros lenguajes mediante webhooks . [4] También existe un cliente Ruby llamado RCelery, [5] un cliente PHP , [6] un cliente Go , [7] un cliente Rust , [8] y un cliente Node.js. [9]
Celery requiere un agente de mensajes para ejecutarse. A partir de octubre de 2024, Redis y RabbitMQ reciben soporte y se mantienen y monitorean activamente. Amazon SQS recibe soporte y se mantiene, pero no admite la inspección y administración de trabajadores en tiempo de ejecución, mientras que Zookeeper y Kafka se encuentran actualmente en desarrollo experimental. [10]