MCP Academy · leksjon

Ryddig avslutning og frigjøring av ressurser

Lukk ressursbasseng og filer når serveren stopper.

Leksjon 4 av 413 trinn

Ryddig avslutning og frigjøring av ressurser er en gratis leksjon i MCP Academy på CoddyKit. Dette er leksjon 4 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.

Hvorfor nedstengning er viktig

Åpne forbindelser som aldri lukkes, lekker ressurser: sokler hoper seg opp, pooler forblir reservert, og databaser fortsetter å være belastet.

Opprydding skjer etter yield

Alt etter yield i levetiden er nedstengningskode som kjøres når serveren får beskjed om å stoppe.

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

Lukk det du åpnet

Gullregelen er: For hver ressurs du åpnet under oppstart, legger du til en tilsvarende close under oppryddingen, slik at ingenting blir stående åpent.

try / finally garanterer det

Plasser yield i en try / finally-blokk, slik at oppryddingen fortsatt kjøres selv om en forespørsel krasjer underveis.

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

Tøm arbeid som pågår

En kontrollert stopp lar pågående verktøykall fullføre før nedstengningen, i stedet for å rive bort grunnlaget de kjører på.

Tøm bufferen før du lukker

Noen klienter mellomlagrer data, så flush ventende skrivinger før du lukker, for å unngå å miste de siste byte-ene du sendte.

Lukk i motsatt rekkefølge

Rydd opp i motsatt rekkefølge av hvordan du bygget tingene, slik at noe aldri lukkes mens noe som er avhengig av det fortsatt er aktivt.

Unngå å bli hengende ved avslutning

Beskytt langsom opprydding med en tidsavbruddsgrense, slik at en fastlåst forbindelse ikke kan hindre hele serveren i å avslutte.

Idempotent opprydding

Gjør oppryddingen idempotent: Det skal være ufarlig å lukke noe to ganger, siden nedstengning kan utløses mer enn én gang.

Logg nedstengningsforløpet

En kort logglinje for hver ressurs som lukkes, gjør en stille avslutning mulig å feilsøke når noe går galt.

Kontekstbehandlere gjør det for deg

Når du pakker klienter inn i async with, lukkes de automatisk. Python håndterer frigjøringen, slik at du trenger mindre manuell opprydding.

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

Rask sjekk

Hvor plasserer en levetid koden som frigjør ressurser?

Oppsummering: Ryddig nedstengning

Frigi ressurser etter yield, beskytt det med try/finally, lukk i omvendt rekkefølge, og unngå heng. Serveren starter og stopper nå på en ryddig måte. ✅

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 «Ryddig avslutning og frigjøring av ressurser» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien MCP Academy, inkludert «Ryddig avslutning og frigjøring av ressurser», 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 «Ryddig avslutning og frigjøring av ressurser»?

Lukk ressursbasseng og filer når serveren stopper. 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 4 av 4.

Hvor lang tid tar leksjonen «Ryddig avslutning og frigjøring av ressurser»?

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