MCP Academy · Oppitunti

Lifespan-käynnistyskutsu

Avatkaa yhteydet kerran palvelimen käynnistyessä.

Oppitunti 1/413 vaihetta

Lifespan-käynnistyskutsu on ilmainen MCP Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu MCP Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. MCP Academy-kurssilla on yhteensä 4 oppituntia.

Käynnistä kerran, käytä monta kertaa

Jotkin alustustoimet kannattaa tehdä kerran palvelimen käynnistyessä, esimerkiksi tietokantayhteyden avaaminen, eikä jokaisen työkalukutsun yhteydessä. 🚀

Tutustu lifespan-käsitteeseen

lifespan on hook, joka suorittaa käynnistyskoodin ennen pyyntöjen saapumista ja purkukoodin palvelimen pysähtymisen jälkeen.

Asynkroninen kontekstinhallinta

lifespan on async context manager: ennen yield-kohtaa oleva koodi suoritetaan käynnistyksessä ja sen jälkeen oleva koodi sammutuksen yhteydessä.

from contextlib import asynccontextmanager

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

Liitä se FastMCP:hen

Välität lifespanin palvelimelle lifespan-argumentilla, jolloin FastMCP tietää suorittaa sen koko elinkaarensa ajan.

from mcp.server.fastmcp import FastMCP

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

Avaa raskaat resurssit tässä

Käynnistyslohko on oikea paikka raskaalle alustukselle, kuten tietokantapoolien ja HTTP-asiakkaiden luomiselle tai mallin lataamiselle muistiin.

Palauta jaettu tila yieldillä

Kaikesta, minkä yield-lauseella palautat, tulee jokaisen pyynnön jaettu konteksti. Rakenna se siis kerran ja välitä sitä eteenpäin.

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

Käynnistys tapahtuu ennen kaikkia työkaluja

FastMCP takaa, että startup suoritetaan loppuun ennen ensimmäisen työkalukutsun hyväksymistä, joten resurssit ovat ajoissa valmiina.

Tyypitetty konteksti tarvittaessa

Voit palauttaa sanakirjan sijaan pienen dataclass-olion ja saada jaettuihin olioihin tyypitetyn, automaattisesti täydennettävän käyttöliittymän.

from dataclasses import dataclass

@dataclass
class AppCtx:
    db: object

Pidä käynnistys nopeana

Asiakkaat odottavat käynnistystä, joten pidä se kevyenä: yhdistä tarvittavat resurssit ja siirrä hitaat valinnaiset toimet niiden ensimmäiseen käyttökertaan.

Yksi lifespan palvelinta kohden

Palvelimella on täsmälleen yksi lifespan. Kokoa kaikki käynnistyslogiikka sen sisään sen sijaan, että hajauttaisit alustuksen työkaluihin.

Käsittele käynnistysvirheet

Jos käynnistys aiheuttaa virheen, palvelimen tulee kieltäytyä käynnistymästä sen sijaan, että se toimisi puutteellisesti määritettynä ja epäonnistuisi myöhemmin vaikeasti jäljitettävällä tavalla.

Pikatesti

Mihin lifespanissa käynnistyskoodi sijoitetaan suhteessa yield-lauseeseen?

Kertaus: Lifespan-hook

Opit, että lifespan on asynkroninen kontekstinhallinta, joka suorittaa alustuksen ennen yield-lauseketta, palauttaa jaetun tilan ja purkaa resurssit sen jälkeen. Seuraavaksi jaetaan tila. 🎯

Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”Lifespan-käynnistyskutsu” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa MCP Academy-oppimispolun 3 oppituntia, myös oppitunnin “Lifespan-käynnistyskutsu”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. MCP Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Lifespan-käynnistyskutsu”?

Avatkaa yhteydet kerran palvelimen käynnistyessä. Harjoittelet MCP Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni MCP Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin MCP Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Lifespan-käynnistyskutsu”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä MCP Academy-oppitunnilla?

Kyllä. Jokainen MCP Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Lifespan-käynnistyskutsu
  2. Tilatietojen jakaminen App Contextin kautta
  3. Context-objektin käyttäminen
  4. Siisti sammutus ja resurssien vapauttaminen
← Takaisin: MCP Academy