Curso Working with Django and Celery
24 horasVisão Geral
Este Curso Working with Django and Celery fornece um guia prático e aprofundado para integrar o Django com Celery, permitindo o desenvolvimento de aplicações web assíncronas, escaláveis e de alto desempenho. Durante o curso, os participantes aprenderão a configurar, utilizar e otimizar o Celery para processamento assíncrono de tarefas em aplicações Django.
O curso cobre desde os conceitos básicos até implementações avançadas, incluindo integração com RabbitMQ e Redis, otimização de filas de tarefas e estratégias para garantir a confiabilidade do processamento assíncrono.
Objetivo
Após concluir este Curso Working with Django and Celery, você será capaz de:
✅ Integrar Celery com Django para processamento assíncrono de tarefas.
✅ Configurar brokers de mensagens como Redis e RabbitMQ.
✅ Criar e gerenciar tarefas distribuídas para aplicações escaláveis.
✅ Monitorar e depurar jobs assíncronos com Flower e Prometheus.
✅ Implementar estratégias de escalabilidade e tolerância a falhas.
Publico Alvo
- Desenvolvedores Django que desejam aprender a processar tarefas assíncronas.
- Engenheiros de software interessados em arquiteturas escaláveis e alta disponibilidade.
- Profissionais que trabalham com sistemas distribuídos e precisam otimizar cargas de trabalho.
- DevOps e SREs que desejam entender a integração do Django com filas de mensagens.
Pre-Requisitos
- Conhecimento intermediário de Python e Django.
- Experiência com bancos de dados relacionais e ORM do Django.
- Noções básicas de Redis, RabbitMQ ou Kafka são recomendadas, mas não obrigatórias
Materiais
Inglês/Português/Lab PráticoConteúdo Programatico
Introdução ao Celery e Processamento Assíncrono (2h)
- O que é Celery e por que utilizá-lo?
- Diferença entre tarefas síncronas e assíncronas.
- Casos de uso reais para processamento assíncrono em aplicações Django.
- Arquitetura básica do Celery: Broker, Worker, Backend.
Configuração do Ambiente (2h)
- Instalação e configuração do Django e Celery.
- Configuração de Redis e RabbitMQ como broker.
- Configuração do backend de resultados.
- Criando um worker Celery no Django.
Criando e Executando Tarefas com Celery (3h)
- Criando tarefas simples e periódicas no Celery.
- Delay vs Apply_async: Qual usar e quando?
- Trabalhando com ETAs e contagens regressivas.
- Configurando retries e timeouts para tarefas resilientes.
Integração Avançada Django + Celery (3h)
- Uso do Celery com Django ORM.
- Criando tarefas encadeadas e em grupo.
- Executando tarefas em segundo plano em views e signals.
- Logging e monitoramento de tarefas assíncronas.
Filas de Mensagens e Escalabilidade (3h)
- Comparação entre Redis vs RabbitMQ vs Kafka.
- Criando filas de prioridade no Celery.
- Balanceamento de carga entre múltiplos workers.
- Auto-Scaling para processamento eficiente.
Monitoramento e Depuração de Jobs (3h)
- Usando Flower para monitorar tarefas.
- Logs e debugging avançado no Celery.
- Integrando Prometheus e Grafana para métricas de Celery.
- Tratamento de falhas e reprocessamento de tarefas.
Implementando Workflows e Pipelines de Tarefas (4h)
- Criando workflows complexos com Celery Canvas.
- Chain, Group e Chord: combinando múltiplas tarefas.
- Execução assíncrona de tarefas dependentes.
- Boas práticas para otimização e segurança.
Deploy e Manutenção de Aplicações Django com Celery (4h)
- Configurando Celery no ambiente de produção.
- Usando Docker e Kubernetes para Celery e Django.
- Configuração de celery beat para tarefas agendadas.
- Estratégias para alta disponibilidade e failover.
Projeto Final: Criando uma Aplicação Django Escalável com Celery (4h)
- Desenvolvimento de uma aplicação Django com tarefas assíncronas.
- Implementação de tarefas complexas usando Celery.
- Monitoramento e otimização da fila de tarefas.
- Apresentação do projeto e melhores práticas.