Curso Distributed Task Automation with Python
16 horasVisão Geral
Este Curso Distributed Task Automation with Python, ensina aos desenvolvedores as principais habilidades do Python para escrever quase qualquer script de automação e executá-lo em distribuição. Os participantes aprendem como aplicar conteinerização com Docker, acessar dados de banco de dados com Python, enviar mensagens com Python e RabbitMQ, orquestrar tarefas distribuídas com Celery e executar comandos SSH remotos.
Objetivo
Após realizare este Curso Distributed Task Automation with Python você será capaz de:
- Implante tarefas em escala com o Celery
- Empregue Python e Celery em um ambiente em contêiner
- Use o banco de dados PostgreSQL com Python
- Envie mensagens com Python e RabbitMQ
- Aplique habilidades básicas e mais avançadas de Python Celery
Pre-Requisitos
- Todos os alunos devem ter feito o curso Python Task Automation ou ter experiência significativa com os tópicos abordados nesse curso.
Materiais
Inglês/Português/Lab PráticoConteúdo Programatico
Introduction
Development Environment (Very Quick Overview)
- Configure VS Code for Python script development
- Code Reformatting with Black
- Debugging Python Scripts with VS Code
Simple Task Distribution
- Use SSH to run Remote Commands
- Use SSH to Download/Upload Files
- Write Python Scripts to run code on remote Linux Computers
- Collect Data from remote Linux Computers
Containerization
- What is a Container?
- What is Docker?
- What is Docker Hub?
- Images and Containers
- Create an Image with Dockerfile
- Run Containers
- Configure Containers with Environment Variables
- Docker Compose
- Docker Compose Networking
- Docker Compose Volume
Remote Data Storage
- What is Remote Data Storage?
- Running a Data Storage in a Container
- Running PostgreSQL in a Container
- Running PostgreSQL Client Tool in a Container
- Configure with Docker Compose
- Read/Write Data to PostgreSQL with Python SQLAlchemy
Remote Message Broker
- What is a Message Broker?
- Running a Message Broker in a Container
- Running RabbitMQ in a Container
- Running RabbitMQ Client Tool in a Container
- Configure with Docker Compose
- Read/Write Data to RabbitMQ with Python and Pika
Task Automation at Scale with Celery
- Overview of Celery and its features
- Installing Celery and its dependencies
- Setting up a simple Celery project
Celery Basics
- Defining and running tasks
- Task decorators and options
- Passing arguments and results between tasks
- Task retries and error handling
- Monitoring and managing Celery workers
Advanced Celery Concepts
- Task serialization and message brokers
- Task routing and prioritization
- Task result backends
- Grouping and chaining tasks
- Scheduling periodic tasks with Celery beat
Scaling and Deployment
- Load balancing tasks with multiple workers
- Deploying Celery in a production environment
- Configuring Celery for high availability
- Best practices for handling long-running tasks
- Monitoring and performance tuning