MCP Academy · Les

De Lifespan-startup-hook

Open verbindingen één keer wanneer de server opstart.

Les 1 van 413 stappen

De Lifespan-startup-hook is een gratis MCP Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject MCP Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus MCP Academy bevat in totaal 4 lessen.

Eén keer opstarten, vaak gebruiken

Sommige configuratie moet eenmalig worden uitgevoerd wanneer je server opstart, zoals het openen van een databaseverbinding, en niet bij elke afzonderlijke toolaanroep. 🚀

Maak kennis met de levensduur

De levensduur is een hook die opstartcode uitvoert voordat er requests binnenkomen en daarna opruimcode uitvoert nadat de server is gestopt.

Een asynchrone contextmanager

Een levensduur is een asynchrone contextmanager: code vóór yield is opstartcode en code na yield is afsluitcode.

from contextlib import asynccontextmanager

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

Koppel hem aan FastMCP

Je geeft je levensduur met het argument lifespan door aan de server, zodat FastMCP weet dat hij deze tijdens de levensduur van de server moet uitvoeren.

from mcp.server.fastmcp import FastMCP

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

Open kostbare zaken hier

Het opstartgedeelte is de juiste plek voor kostbare configuratie: databasepools, HTTP-clients of het inladen van een model in het geheugen.

Geef de gedeelde toestand door

Alles wat je yield gebruikt, wordt de gedeelde context voor elke request. Bouw die daarom één keer op en geef hem door.

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

Opstarten gebeurt vóór elke tool

FastMCP garandeert dat je opstartcode is voltooid voordat de eerste toolaanroep wordt geaccepteerd, zodat resources op tijd gereed zijn.

Optioneel: een getypeerde context

Je kunt in plaats van een dict een kleine dataclass doorgeven voor getypeerde toegang tot je gedeelde objecten, inclusief automatisch aanvullen.

from dataclasses import dataclass

@dataclass
class AppCtx:
    db: object

Houd het opstarten snel

Clients wachten tijdens het opstarten, dus houd het slank: maak verbinding met wat je nodig hebt en stel traag, optioneel werk uit tot het voor het eerst wordt gebruikt.

Eén levensduur per server

Een server heeft precies één levensduur. Zet al je opstartlogica daarin in plaats van de configuratie over tools te verspreiden.

Behandel fouten bij het opstarten

Als het opstarten een fout veroorzaakt, moet de server weigeren te starten in plaats van half geconfigureerd te draaien en later op mysterieuze wijze te falen.

Korte controle

Waar komt de opstartcode in een levensduur ten opzichte van yield te staan?

Samenvatting: de levensduurhook

Je hebt de levensduur geleerd: een asynchrone contextmanager die vóór yield configuratie uitvoert, gedeelde toestand doorgeeft en daarna opruimt. Volgende: deze toestand delen. 🎯

Gratis beginnen

Leer Python met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “De Lifespan-startup-hook” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad MCP Academy, waaronder “De Lifespan-startup-hook”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus MCP Academy bevat in totaal 4 lessen.

Wat leer ik in “De Lifespan-startup-hook”?

Open verbindingen één keer wanneer de server opstart. Je oefent met MCP Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met MCP Academy te beginnen?

Ervaring vooraf is niet nodig. MCP Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “De Lifespan-startup-hook”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over MCP Academy?

Ja. Elke les over MCP Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. De Lifespan-startup-hook
  2. Status delen via AppContext
  3. Toegang tot het contextobject
  4. Netjes afsluiten en resources vrijgeven
← Terug naar MCP Academy