De Lifespan-startup-hook
Open verbindingen één keer wanneer de server opstart.
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
# shutdownKoppel 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: objectHoud 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. 🎯
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
- De Lifespan-startup-hook
- Status delen via AppContext
- Toegang tot het contextobject
- Netjes afsluiten en resources vrijgeven