Procesos lentos que pueden realizarse de forma asíncrona. (Envio de mails, recalculo datos). ❖ Tareas periódicas (como sustituto de cron). ❖ Tareas largas con posterior acceso a los resultados. ❖ Procesamiento distribuido. ❖ Procesamiento de flujos complejos de tareas.
Fichero: tasks.py from celery import Celery app = Celery('tasks', broker='amqp://guest@localhost//', backend='amqp') @app.task def add(x, y): return x + y @app.task def duplicate(x): return x + x if __name__ == “__main__”: res = add.delay(2, 2) print(res.get())
group: Ejecuta en paralelo una lista de tareas, devuelve una lista. ❖ chain: Hace un pipe de una lista de tareas. ❖ chord: group + chain de una tarea. ❖ map: Ejecuta una funcion sobre todos los elementos de una lista. ❖ starmap: Ejecuta una funcion sobre todos las listas de *args de una lista. ❖ chunks: Un starmap que se divide en grupos.