MCP Academy · leksjon

Lifespan-oppstartskroken

Åpne tilkoblinger én gang når serveren starter.

Leksjon 1 av 413 trinn

Lifespan-oppstartskroken er en gratis leksjon i MCP Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i MCP Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i MCP Academy inneholder totalt 4 leksjoner.

Start én gang, bruk mange ganger

Noe oppsett bør gjøres én gang når serveren starter, for eksempel å åpne en databaseforbindelse, ikke ved hvert eneste verktøykall. 🚀

Bli kjent med levetiden

Levetiden er en krok som kjører oppstartskode før forespørsler kommer inn, og deretter avslutningskode etter at serveren stopper.

En asynkron kontekstbehandler

En levetid er en asynkron kontekstbehandler: kode før yield er oppstart, og kode etter yield er avslutning.

from contextlib import asynccontextmanager

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

Koble den til FastMCP

Du gir levetiden til serveren med argumentet lifespan, slik at FastMCP vet at den skal kjøre den gjennom serverens levetid.

from mcp.server.fastmcp import FastMCP

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

Åpne kostbare ressurser her

Oppstartsblokken er riktig sted for kostbart oppsett: databasepooler, HTTP-klienter eller lasting av en modell i minnet.

Yield den delte tilstanden

Det du yield-er, blir den delte konteksten for hver forespørsel, så bygg den én gang og send den videre.

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

Oppstart kjører før alle verktøy

FastMCP garanterer at oppstarten er fullført før det første verktøykallet godtas, slik at ressursene er klare i tide.

En typet kontekst, om ønskelig

Du kan yield-e en liten dataclass i stedet for en dict for å få typet tilgang til de delte objektene, med støtte for autoutfylling.

from dataclasses import dataclass

@dataclass
class AppCtx:
    db: object

Hold oppstarten rask

Klientene venter på oppstarten, så hold den slank: koble til det du trenger, og utsett langsomt valgfritt arbeid til det faktisk brukes.

Én levetid per server

En server har nøyaktig én levetid. Samle all oppstartslogikk i den i stedet for å spre oppsettet rundt i verktøyene.

Håndter oppstartsfeil

Hvis oppstarten utløser en feil, bør serveren nekte å starte i stedet for å kjøre med ufullstendig konfigurasjon og feile på mystisk vis senere.

Rask sjekk

Hvor i en levetid skal oppstartskoden plasseres i forhold til yield?

Oppsummering: Levetidskroken

Du har lært om lifespan: en asynkron kontekstbehandler som kjører oppsett før yield, returnerer delt tilstand og rydder opp etterpå. Neste tema er å dele den. 🎯

Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Lifespan-oppstartskroken» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien MCP Academy, inkludert «Lifespan-oppstartskroken», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i MCP Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Lifespan-oppstartskroken»?

Åpne tilkoblinger én gang når serveren starter. Du øver på MCP Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med MCP Academy?

Ingen tidligere erfaring er nødvendig. MCP Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Lifespan-oppstartskroken»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne MCP Academy-leksjonen?

Ja. Alle MCP Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Lifespan-oppstartskroken
  2. Dele tilstand via appkontekst
  3. Få tilgang til kontekstobjektet
  4. Ryddig avslutning og frigjøring av ressurser
← Tilbake til MCP Academy