MCP Academy · Aula

O gancho de inicialização do ciclo de vida

Abra conexões uma única vez quando o servidor for iniciado.

Aula 1 de 413 etapas

O gancho de inicialização do ciclo de vida é 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.

Inicialize Uma Vez, Use Muitas

Algumas configurações devem acontecer uma vez quando o seu servidor é iniciado, como abrir uma conexão com o banco de dados, e não em cada chamada de ferramenta. 🚀

Conheça o Lifespan

O lifespan é um gancho que executa o código de inicialização antes da chegada das solicitações e, depois, executa o código de desmontagem quando o servidor para.

Um Gerenciador de Contexto Assíncrono

Um lifespan é um gerenciador de contexto assíncrono: o código antes de yield é executado na inicialização, e o código depois de yield é executado no encerramento.

from contextlib import asynccontextmanager

@asynccontextmanager
async def lifespan(server):
    # startup
    yield
    # shutdown

Integre-o ao FastMCP

Forneça o seu lifespan ao servidor por meio do argumento lifespan, para que o FastMCP saiba executá-lo durante todo o seu ciclo de vida.

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("demo", lifespan=lifespan)

Abra Aqui o que é Dispendioso

O bloco de inicialização é o lugar certo para a configuração dispendiosa: conjuntos de conexões de banco de dados, clientes HTTP ou o carregamento de um modelo na memória.

Ceda o Estado Compartilhado

Tudo o que você ceder se tornará o contexto compartilhado de cada solicitação; portanto, crie-o uma vez e passe-o adiante.

async def lifespan(server):
    db = await connect_db()
    yield {"db": db}

A Inicialização Ocorre Antes de Qualquer Ferramenta

O FastMCP garante que a sua inicialização termine antes de aceitar a primeira chamada de ferramenta, para que os recursos estejam prontos a tempo.

Um Contexto Tipado, Opcionalmente

Pode ceder uma pequena dataclass em vez de um dicionário para obter acesso tipado e com preenchimento automático aos seus objetos compartilhados.

from dataclasses import dataclass

@dataclass
class AppCtx:
    db: object

Mantenha a Inicialização Rápida

Os clientes aguardam a inicialização, portanto mantenha-a enxuta: conecte o que for necessário e adie o trabalho lento e opcional até o primeiro uso.

Um Lifespan por Servidor

Um servidor tem exatamente um lifespan. Agrupe toda a sua lógica de inicialização nele, em vez de espalhar a configuração pelas ferramentas.

Lide com Falhas de Inicialização

Se a inicialização gerar um erro, o servidor deve recusar-se a iniciar, em vez de funcionar com configuração incompleta e falhar misteriosamente mais tarde.

Verificação Rápida

Em que parte de um lifespan o código de inicialização fica em relação a yield?

Recapitulação: O Gancho Lifespan

Aprendeu sobre o lifespan: um gerenciador de contexto assíncrono que executa a configuração antes de yield, cede o estado compartilhado e desmonta tudo depois. A seguir, compartilhe-o. 🎯

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 “O gancho de inicialização do ciclo de vida” é grátis?

Sim — o texto completo de “O gancho de inicialização do ciclo de vida” é 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 “O gancho de inicialização do ciclo de vida”?

Abra conexões uma única vez quando o servidor for iniciado. 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 “O gancho de inicialização do ciclo de vida”?

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. O gancho de inicialização do ciclo de vida
  2. Compartilhar estado pelo contexto do aplicativo
  3. Acessar o objeto de contexto
  4. Encerramento limpo e liberação de recursos
← Voltar para MCP Academy