O documento discute o uso do framework Celery para implementar tarefas assíncronas em aplicações Django. Celery permite enfileirar tarefas para serem executadas em segundo plano por trabalhadores, usando RabbitMQ como broker de mensagens. As tarefas podem ser agrupadas, encadeadas ou executadas em paralelo para melhorar a performance.
4. BACK-END
Django + Celery + Rabbit
A tarefa chega ao back-end em forma de task
assíncrona, através do serviço de mensageria
do celery, que utilizam da estrutura do rabbit
para armazenamento
23. The Primitives
add.chunks(items, 10)
lista de tarefas que
devem ser aplicadas
em paralelo
group
uma tarefa chamada
após a outra
chain
grupo de cabeçalho e
um corpo, onde o
corpo é uma tarefa
que deve ser
executada após a
conclusão de todas as
tarefas no cabeçalho
chord
divide uma longa
lista de argumentos
em partes
chunks
única tarefa sendo
chamada, aplicando os
argumentos em ordem
à função
map
25. worker especializados ou gerais.
Especializados fariam cada um uma parte do
processo.
Gerais, fariam todo o processo. Bastando replicar
workers para ter mais processos.
OTIMIZAÇÃO
DE RECURSOS
Horizontalização ou Verticalização.
Onde botar recursos?