Mutualiser les connexions pendant le cycle de vie
Réutilisez les clients DB et HTTP entre les requêtes.
Mutualiser les connexions pendant le cycle de vie est une leçon MCP Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage MCP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours MCP Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Connecting Costs Time
Opening a fresh database or HTTP connection on every call is slow. The handshake adds latency that piles up fast under load. 🐢
Reuse with a Pool
A connection pool keeps a set of live connections ready, lending one per request and taking it back when the work is done.
Build the Pool at Startup
The lifespan hook is the perfect home: create the pool once when the server boots, before any tool runs.
@asynccontextmanager
async def lifespan(server):
pool = await create_pool(DSN)
yield {"pool": pool}Yield It as Shared State
Whatever you yield from the lifespan becomes shared context, so every handler reaches the same pool without rebuilding it.
Reach It via Context
Inside a tool, grab the pool from the request context rather than opening your own connection each time.
pool = ctx.request_context.lifespan_context["pool"]Borrow, Use, Return
Acquire a connection from the pool, run your query, and let it return automatically. The with block handles checkout and release.
async with pool.acquire() as conn:
rows = await conn.fetch(sql)Cap the Pool Size
Set a max size so the pool never opens more connections than your database can handle, even when calls flood in.
pool = await create_pool(DSN, max_size=10)Share One HTTP Client Too
The same idea fits HTTP: build one httpx client in the lifespan and reuse it so connections stay warm and pooled.
client = httpx.AsyncClient()
yield {"http": client}Pools Are Thread-Safe
A good async pool is built for concurrency, safely handing connections to many requests running at the same time.
Watch for Leaks
Always release what you borrow. A connection you forget to return is a leak that slowly starves the pool until calls stall.
Close It on Shutdown
After the lifespan yield, close the pool so connections drain cleanly when the server stops.
yield {"pool": pool}
await pool.close()Quick Check
Where do you build a connection pool?
Recap: Pooling
You pooled connections in the lifespan: build once, share via context, borrow per call, and close on shutdown. Next, cache and rate-limit. 🎯
Questions Fréquemment Posées
La leçon « Mutualiser les connexions pendant le cycle de vie » est-elle gratuite ?
Oui — le texte complet de « Mutualiser les connexions pendant le cycle de vie » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours MCP Academy, passe à CoddyKit PRO. Le cours MCP Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Mutualiser les connexions pendant le cycle de vie » ?
Réutilisez les clients DB et HTTP entre les requêtes. Tu pratiques MCP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer MCP Academy ?
Aucune expérience préalable n'est requise. MCP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Mutualiser les connexions pendant le cycle de vie » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon MCP Academy ?
Oui. Chaque leçon MCP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Exposer des requêtes SQL en toute sécurité
- Transformer une API REST en outils
- Mutualiser les connexions pendant le cycle de vie
- Mettre en cache et limiter le débit des services en amont