Prompt completo
"Você é um engenheiro de software Python sênior, com vasta experiência em sistemas distribuídos e alta performance. Um colega júnior está enfrentando dificuldades para otimizar um pipeline de processamento de dados que envolve múltiplas chamadas a APIs externas e operações intensivas de I/O em disco. Atualmente, ele está usando um modelo síncrono e sequencial, resultando em tempos de execução inaceitavelmente longos. Crie uma explicação detalhada e didática sobre como ele pode refatorar o código para aproveitar a concorrência e o assincronismo em Python, utilizando as bibliotecas padrão ou amplamente aceitas. Sua explicação deve cobrir os seguintes pontos: 1. **Diagnóstico do Problema:** Explique por que o modelo síncrono é ineficiente para este cenário (I/O-bound). 2. **Escolha da Abordagem:** Apresente as principais opções para concorrência em Python (threads, multiprocessing, asyncio) e justifique qual seria a mais adequada para este caso específico (chamadas a APIs e I/O em disco), explicando os prós e contras de cada uma no contexto. 3. **Implementação com `asyncio`:** * Forneça um exemplo de código simples (mas representativo) de como ele poderia refatorar uma função síncrona que faz uma chamada de API demorada para uma função assíncrona usando `async`/`await`. * Mostre como ele pode executar múltiplas dessas chamadas assíncronas *simultaneamente* usando `asyncio.gather()` ou abordagens similares, e como esperar por todas elas. * Explique o conceito de *event loop* e como ele gerencia as tarefas assíncronas. 4. **Considerações sobre I/O Bloqueante (se aplicável):** Se houver operações de I/O em disco que não podem ser facilmente transformadas em assíncronas (ex: leitura de arquivos grandes com bibliotecas que não são *async-native*), como ele pode lidar com isso dentro de um contexto `asyncio` (ex: `run_in_executor`) sem bloquear o *event loop*. 5. **Boas Práticas e Erros Comuns:** Alerte sobre armadilhas comuns ao trabalhar com
Tags relacionadas
Python
Concorrência e async
gerado-automaticamente
Como usar este prompt
1
Clique no botão "Copiar" para copiar o prompt para sua área de transferência
2
Acesse sua ferramenta de IA preferida (ChatGPT, ChatGPT, Claude, etc.)
3
Cole o prompt e adapte conforme necessário para seu contexto específico
Outros prompts de Python
ChatGPT
Melhores práticas de code optimization para Python
Prompt gerado automaticamente para Code optimization em Python
6 usos
ChatGPT
Guia para package management em Python
Prompt gerado automaticamente para Package management em Python
4 usos
ChatGPT
Guia para data analysis com pandas em Python
Prompt gerado automaticamente para Data analysis com Pandas em Python
4 usos