5. ¿Qué es Celery?
Celery is an asynchronous task queue/job queue based on distributed message
passing. It is focused on real-time operation, but supports scheduling as well.
Celery es una cola (o sistema para administrar colas) de tareas o trabajos de
manera asíncrona, basado en envío de mensajes. Está enfocado en operaciones
en tiempo-real, pero también soporta tareas programadas.
@tiangolo
7. ¿Qué problemas resuelve?
● Aplicación web “lenta”
● Web que recibe datos y los procesa antes de almacenar
● Procesamiento adicional (extracción de entidades, Machine Learning...)
● Un servidor solo no alcanza a hacer todo lo que se necesita
● Coordinar múltiples dispositivos en red (e.g. coordinación de Raspberry Pi)
● Secuencias de pasos a ejecutar (e.g. procesar -> analizar -> almacenar)
@tiangolo
9. ¿Cómo resuelve problemas?
● Cada componente modularizado hace solo su parte
● Se pasan “tareas”, “trabajos” o “mensajes” entre módulos
● “Hey! Ejecuta esta función X con estos parámetros Y y Z!”
● Una aplicación principal ejecuta funciones de Celery que envían “tareas”
● “Workers” o “trabajadores” están “escuchando” tareas
● Cada “worker” va tomando tareas de una “cola” de tareas (lista de pendientes)
● Esa cola es RabbitMQ, Redis u otros
● Celery es el “pegante” que une todo, maneja la comunicación entre partes
@tiangolo
12. Desvío, atajo: ¿qué es Docker?
● Máquinas virtuales, solo que no
● Virtualenv, solo que no
● “Containers” mini-Linux sobre Linux
● Seguridad
● Dependencias
● “Pero en mi laptop funciona”
● “Imágenes” pre-existentes
● Aprendizaje de otros sistemas
● Empezar de cero más rápido
● ...etc
@tiangolo