MCP Academy · Lektion

Ren nedlukning og frigivelse af ressourcer

Luk forbindelsespuljer og filer, når serveren stopper.

Lektion 4 af 413 trin

Ren nedlukning og frigivelse af ressourcer er en gratis MCP Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i MCP Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. MCP Academy-kurset indeholder 4 lektioner i alt.

Hvorfor nedlukning er vigtig

Åbne forbindelser, der aldrig lukkes, lækker ressourcer: sockets hober sig op, puljer forbliver reserverede, og databaser bliver ved med at være belastede.

Nedlukning sker efter yield

Alt efter yield i din levetid er nedlukningskode, som kører, når serveren får besked på at stoppe.

async def lifespan(server):
    db = await connect()
    yield {"db": db}
    await db.close()

Luk det, du åbnede

Den gyldne regel er: Tilføj en tilsvarende close under nedlukningen for hver ressource, du åbnede under opstart, så intet efterlades hængende.

try / finally garanterer det

Pak yield ind i try / finally, så oprydningen stadig kører, selv hvis en forespørgsel går ned midt i arbejdet.

async def lifespan(server):
    db = await connect()
    try:
        yield {"db": db}
    finally:
        await db.close()

Afslut igangværende arbejde

En kontrolleret stopproces lader igangværende værktøjskald blive færdige, før der ryddes op, i stedet for at trække tæppet væk under dem.

Tøm bufferen, før du lukker

Nogle klienter gemmer data i buffere, så flush ventende skrivninger, før du lukker, for at undgå at miste de sidste bytes, du sendte.

Luk i omvendt rækkefølge

Ryd op i omvendt rækkefølge af den, du brugte til at opbygge tingene, så noget aldrig lukkes, mens noget, der afhænger af det, stadig er aktivt.

Hæng ikke ved afslutning

Beskyt langsom oprydning med en tidsgrænse, så en fastlåst forbindelse ikke kan forhindre hele serveren i at lukke ned.

Idempotent oprydning

Gør nedlukningen idempotent: Det skal være ufarligt at lukke noget to gange, fordi nedlukning kan blive udløst mere end én gang.

Log nedlukningsforløbet

En kort loglinje for hver lukket ressource gør en stille afslutning til noget, du faktisk kan fejlfinde, når noget går galt.

Konteksthåndteringer gør det for dig

Når du pakker klienter ind i async with, lukkes de automatisk, så Python håndterer frigivelsen, og du skriver mindre manuel oprydning.

async def lifespan(server):
    async with connect() as db:
        yield {"db": db}

Hurtigt tjek

Hvor placerer en levetid kode, der frigiver ressourcer?

Opsummering: Ren nedlukning

Du frigiver ressourcer efter yield, beskytter det med try/finally, lukker i omvendt rækkefølge og undgår hængende kald. Din server starter og stopper nu korrekt. ✅

Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Ren nedlukning og frigivelse af ressourcer” gratis?

Ja — alle 3 lektioner i læringssporet MCP Academy, inklusive “Ren nedlukning og frigivelse af ressourcer”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. MCP Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Ren nedlukning og frigivelse af ressourcer”?

Luk forbindelsespuljer og filer, når serveren stopper. Du øver dig i MCP Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på MCP Academy?

Der kræves ingen tidligere erfaring. MCP Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Ren nedlukning og frigivelse af ressourcer”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne MCP Academy-lektion?

Ja. Alle MCP Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Lifespan-opstartshooket
  2. Del tilstand via appkontekst
  3. Få adgang til kontekstobjektet
  4. Ren nedlukning og frigivelse af ressourcer
← Tilbage til MCP Academy