MCP Academy · Aula

Ferramentas assíncronas que não bloqueiam

Use E/S assíncrona para atender várias chamadas ao mesmo tempo.

Aula 1 de 413 etapas

Ferramentas assíncronas que não bloqueiam é uma aula grátis de MCP Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de MCP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de MCP Academy inclui 4 aulas no total.

Uma ferramenta lenta faz todos esperarem

Se uma ferramenta executar trabalho lento de forma síncrona, ela bloqueia o servidor inteiro, fazendo com que todas as outras chamadas tenham de esperar sua vez. ⏳

A maior parte da lentidão é espera

Uma ferramenta que chama um banco de dados ou uma API passa a maior parte do tempo em E/S, apenas esperando uma resposta em vez de usar a CPU.

A programação assíncrona libera o servidor

Marcar uma ferramenta como assíncrona permite que o servidor processe outras solicitações durante essa espera, em vez de ficar ocioso em uma única chamada.

Defina uma ferramenta async def

Declare seu manipulador com async def e o FastMCP aguardará sua execução, permitindo que o ciclo de eventos atenda a outros trabalhos enquanto isso.

@mcp.tool()
async def fetch(city: str) -> str:
    ...

Use await nas chamadas de E/S

Dentro de uma ferramenta assíncrona, use await em bibliotecas assíncronas, para que cada pausa devolva o controle ao ciclo em vez de congelá-lo.

data = await client.get(url)
return data.text

Use bibliotecas nativamente assíncronas

Prefira clientes como httpx ou asyncpg. Eles foram criados para aguardar operações, ao contrário das bibliotecas bloqueantes, que paralisam todo o ciclo.

Nunca bloqueie o ciclo de eventos

Um time.sleep simples ou um ciclo pesado bloqueia todas as outras solicitações. Em código assíncrono, chamadas bloqueantes congelam o servidor silenciosamente.

Descarregue o trabalho pesado da CPU

Para cálculos realmente intensivos na CPU, transfira o trabalho para uma thread com asyncio.to_thread, mantendo o ciclo de eventos livre para atender chamadas.

result = await asyncio.to_thread(crunch, data)

Execute chamadas simultaneamente

Precisa fazer várias buscas ao mesmo tempo? asyncio.gather executa objetos aguardáveis em conjunto, terminando muito mais rápido do que aguardar cada um por vez.

a, b = await asyncio.gather(get(x), get(y))

Adicione um timeout às esperas

Envolva esperas lentas em um timeout, para que um sistema upstream travado não mantenha uma solicitação ocupada para sempre nem prive o servidor de recursos.

A programação assíncrona aumenta a simultaneidade

Com E/S assíncrona, um processo pode administrar muitas chamadas em andamento ao mesmo tempo, mantendo o servidor responsivo sob uma carga real.

Verificação rápida

Por que a E/S assíncrona ajuda um servidor MCP ocupado?

Recapitulação: não bloqueie

Você tornou as ferramentas assíncronas, aguardou a E/S, descarregou o trabalho da CPU e executou chamadas em conjunto, para que uma ferramenta lenta não congele mais o servidor. 🚀

Grátis para começar

Aprenda Python com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Ferramentas assíncronas que não bloqueiam” é grátis?

Sim — o texto completo de “Ferramentas assíncronas que não bloqueiam” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de MCP Academy, atualize para CoddyKit PRO. O curso de MCP Academy inclui 4 aulas no total.

O que vou aprender em “Ferramentas assíncronas que não bloqueiam”?

Use E/S assíncrona para atender várias chamadas ao mesmo tempo. Você pratica MCP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar MCP Academy?

Nenhuma experiência prévia é necessária. MCP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Ferramentas assíncronas que não bloqueiam”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de MCP Academy?

Sim. Cada aula de MCP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Ferramentas assíncronas que não bloqueiam
  2. Concorrência e controle de fluxo
  3. Reduzir resultados que consomem muitos tokens
  4. Escalonar horizontalmente com sessões
← Voltar para MCP Academy