O gancho de inicialização do ciclo de vida
Abra conexões uma única vez quando o servidor for iniciado.
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
# shutdownIntegre-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: objectMantenha 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. 🎯
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
- O gancho de inicialização do ciclo de vida
- Compartilhar estado pelo contexto do aplicativo
- Acessar o objeto de contexto
- Encerramento limpo e liberação de recursos