MCP Academy · Lezione

L'hook di avvio del ciclo di vita

Apra le connessioni una sola volta all'avvio del server.

Lezione 1 di 413 passaggi

L'hook di avvio del ciclo di vita è una lezione MCP Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento MCP Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso MCP Academy include 4 lezioni in totale.

Avvii una volta, usi molte volte

Alcune operazioni di configurazione dovrebbero essere eseguite una sola volta all'avvio del server, ad esempio l'apertura di una connessione al database, non a ogni singola chiamata a uno strumento. 🚀

Conosca il lifespan

Il lifespan è un hook che esegue il codice di avvio prima dell'arrivo delle richieste, quindi il codice di teardown dopo l'arresto del server.

Un gestore di contesto asincrono

Un lifespan è un gestore di contesto asincrono: il codice prima di yield viene eseguito all'avvio, quello dopo yield durante l'arresto.

from contextlib import asynccontextmanager

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

Lo integri in FastMCP

Passa il lifespan al server tramite l'argomento lifespan, così FastMCP sa di doverlo eseguire per tutta la durata della propria attività.

from mcp.server.fastmcp import FastMCP

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

Apra qui le risorse costose

Il blocco di avvio è il posto giusto per la configurazione costosa: pool di connessioni al database, client HTTP o caricamento di un modello in memoria.

Restituisca lo stato condiviso

Qualunque valore lei restituisca con yield diventa il contesto condiviso per ogni richiesta; lo costruisca quindi una volta sola e lo passi alle richieste.

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

L'avvio precede ogni strumento

FastMCP garantisce che l'avvio termini prima di accettare la prima chiamata a uno strumento, così le risorse sono pronte al momento giusto.

Un contesto tipizzato, se lo desidera

Può restituire un piccolo dataclass invece di un dizionario, ottenendo così un accesso tipizzato e completabile automaticamente agli oggetti condivisi.

from dataclasses import dataclass

@dataclass
class AppCtx:
    db: object

Mantenga rapido l'avvio

I client attendono l'avvio, quindi lo mantenga snello: si connetta a ciò che serve e rimandi il lavoro opzionale e lento al primo utilizzo.

Un lifespan per server

Un server ha esattamente un lifespan. Raggruppi al suo interno tutta la logica di avvio invece di distribuire la configurazione tra gli strumenti.

Gestisca gli errori di avvio

Se l'avvio genera un errore, il server dovrebbe rifiutarsi di avviarsi invece di funzionare con una configurazione incompleta e fallire misteriosamente in seguito.

Verifica rapida

In quale punto di un lifespan va inserito il codice di avvio rispetto a yield?

Riepilogo: l'hook lifespan

Ha imparato a conoscere il lifespan: un gestore di contesto asincrono che esegue la configurazione prima di yield, restituisce lo stato condiviso e svolge il teardown dopo. Prossimo argomento: condividerlo. 🎯

Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «L'hook di avvio del ciclo di vita» è gratuita?

Sì — il testo completo di «L'hook di avvio del ciclo di vita» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso MCP Academy, passa a CoddyKit PRO. Il corso MCP Academy include 4 lezioni in totale.

Cosa imparerò in «L'hook di avvio del ciclo di vita»?

Apra le connessioni una sola volta all'avvio del server. Eserciti MCP Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare MCP Academy?

Non è richiesta alcuna esperienza precedente. MCP Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «L'hook di avvio del ciclo di vita»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione MCP Academy?

Sì. Ogni lezione MCP Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. L'hook di avvio del ciclo di vita
  2. Condividere lo stato tramite il contesto dell'app
  3. Accedere all'oggetto contesto
  4. Arresto ordinato e rilascio delle risorse
← Torna a MCP Academy