Visão Geral
Este curso abrange a integração entre Celery e Django, proporcionando uma compreensão prática sobre como utilizar tarefas assíncronas e processamento em segundo plano em aplicações Django. Exploraremos a arquitetura do Celery, configurações essenciais e estratégias para construir tarefas assíncronas escaláveis e robustas.
Objetivo
Após realizar este curso Celery and Django, você será capaz de:
- Configurar e integrar o Celery em projetos Django.
- Implementar tarefas assíncronas e periódicas.
- Monitorar e escalar o Celery para lidar com cargas de trabalho de produção.
- Resolver problemas comuns em tarefas distribuídas e tratamento de erros.
Publico Alvo
Este curso é indicado para desenvolvedores web e engenheiros de software com experiência em Django, que buscam aprimorar suas aplicações com processamento em segundo plano e alta performance.
Pre-Requisitos
- Conhecimentos sólidos de Python.
- Experiência prática com Django.
- Noções básicas de RabbitMQ ou Redis como brokers de mensagens.
Materiais
Inglês/Português/Lab Pratico
Conteúdo Programatico
Introdução ao Celery e Arquitetura de Tarefas Assíncronas
- O que é Celery e sua importância em aplicações web.
- Arquitetura do Celery: Workers, Brokers e Backends.
- Casos de uso comuns para tarefas assíncronas em Django.
Configuração do Ambiente
- Configuração do projeto Django para Celery.
- Escolha de broker: configuração com Redis e RabbitMQ.
- Introdução à configuração de backends para monitoramento de tarefas (Redis, SQL).
Criando e Executando Tarefas Assíncronas
- Estrutura básica de uma tarefa Celery.
- Testando tarefas assíncronas no Django Shell.
- Manuseio de retorno e armazenamento de resultados.
Implementando Tarefas Periódicas
- Configuração de tarefas agendadas com Celery Beat.
- Intervalos e crontabs para tarefas periódicas.
- Executando tarefas em horários específicos e configuração de timezone.
Tratamento de Erros e Requisições de Retentativas
- Como capturar e lidar com exceções em tarefas.
- Implementação de retentativas automáticas e limitações de tentativas.
- Estratégias de backoff e gerenciamento de falhas.
Monitoramento e Logging com Celery
- Ferramentas de monitoramento: Flower, Prometheus e Grafana.
- Coleta e análise de logs para solução de problemas em produção.
- Configuração de alertas para workers ociosos ou falhas.
Escalando o Celery
- Tuning de configuração de workers e performance.
- Estratégias de escalabilidade horizontal e vertical.
- Configuração de pools de workers e estratégias de roteamento.
Melhores Práticas e Considerações para Produção
- Segurança e tratamento de dados sensíveis.
- Cuidados na integração de Celery com Django ORM.
- Otimizações para reduzir o uso de memória e melhorar a eficiência.
Projeto Prático: Implementação Completa de Celery em uma Aplicação Django
- Desenvolvimento de uma aplicação Django com Celery para tarefas de envio de e-mails.
- Configuração de tarefas periódicas para relatórios automáticos.
- Deploy da aplicação em um ambiente de produção.
TENHO INTERESSE