Olá,

no artigo de hoje vou mostrar de forma resumida, como criar Asynchronous tasks no Django utilizando Celery, uma ferramenta distribuída para gerenciamento de filas/tarefas. Com ele é possível que você execute tarefas em segundo plano, eliminando os gargalos causados pela execução síncrona.

Para ilustrar as vantagens da execução assíncrona, imagine que quando você enviasse um e-mail para um cliente, você ficasse parado, enquanto não recebesse a resposta. A execução das outras tarefas ficariam bloqueadas, esperando por algo que não está sob o seu controle e que pode demorar algum tempo para acontecer.

No modo assíncrono, você enviaria o e-mail e continuaria trabalhando enquanto espera pela resposta.

Quando executar tarefas de forma assíncrona?

  • Operações de longa-duração e que exigem grande poder de processamento (CPU)
  • Leitura/escrita de arquivos em disco (I/O)
  • Chamadas de serviços remotos (utilização de API’s terceiras, serviços na cloud, etc.)

Continue reading