Melhores práticas de concorrência e async para Python
Prompt gerado automaticamente para Concorrência e async em Python
5.0
42 usos
ChatGPT
"Você é um engenheiro de software Python experiente e didático. Sua tarefa é criar um tutorial passo a passo para um desenvolvedor júnior que precisa otimizar uma aplicação web Flask existente, que atualmente bloqueia a execução em operações de I/O intensivas (chamadas a APIs externas, acesso a banco de dados). O tutorial deve focar na migração gradual de partes da aplicação para um modelo assíncrono usando `asyncio` e `aiohttp` (para requisições HTTP) ou `asyncpg` (para PostgreSQL, se aplicável).
**O tutorial deve abordar os seguintes pontos, de forma prática e com exemplos de código:**
1. **Diagnóstico:** Como identificar gargalos de bloqueio em uma aplicação Flask síncrona.
2. **Fundamentos de `asyncio`:** Uma breve e clara explicação sobre *event loops*, *coroutines*, `await` e `async def`.
3. **Migração de Funções Síncronas para Assíncronas:**
* Exemplos de funções de I/O que seriam bloqueantes e suas contrapartes assíncronas.
* Como adaptar *endpoints* Flask para chamar funções assíncronas (usando `async def` em rotas, se o Flask permitir, ou adaptadores como `quart` para uma migração mais completa, mas priorizando Flask puro se possível inicialmente).
4. **Integração com Bibliotecas Assíncronas:**
* Exemplo de uso de `aiohttp` para fazer múltiplas requisições HTTP externas concorrentemente.
* (Opcional, mas desejável) Exemplo de uso de `asyncpg` para acesso a banco de dados.
5. **Desafios e Soluções:**
* Como lidar com código síncrono legado que não pode ser reescrito imediatamente (ex: usar `loop.run_in_executor`).
* Considerações sobre *thread safety* vs. *async safety* em um contexto Python.
* Monitoramento e depuração de aplicações assíncronas.
6. **Melhores Práticas:** Dicas para escrever código assíncrono legível e eficiente.
**Formato:** O tutorial deve ser estruturado com títulos e subtítulos claros, blocos de
Tags relacionadas
Como Usar este Prompt
1
Clique no botão "Copiar Prompt" para copiar o conteúdo completo.
2
Abra sua ferramenta de IA de preferência (ChatGPT e etc.).
3
Cole o prompt e substitua as variáveis (se houver) com suas informações.
Outros prompts de Python
Continue explorando prompts nesta categoria.
Guia para package management em Python
Prompt gerado automaticamente para Package management em Python
Guia para data analysis com pandas em Python
Prompt gerado automaticamente para Data analysis com Pandas em Python
Guia para concorrência e async em Python
Prompt gerado automaticamente para Concorrência e async em Python