Compartir estado mediante el contexto de la aplicación
Pase objetos compartidos a cada controlador.
Compartir estado mediante el contexto de la aplicación es una lección gratuita de MCP Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de MCP Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de MCP Academy incluye 4 lecciones en total.
El estado que necesita cada controlador
Sus herramientas suelen necesitar los mismos objetos, como un único pool de bases de datos. Lo ideal es crearlos una vez y compartirlos en todas partes.
El valor cedido es el estado
Todo lo que el lifespan cede se convierte en el estado compartido de la aplicación, disponible para cada herramienta, recurso y prompt.
async def lifespan(server):
yield {"db": db, "cache": cache}Prefiera un contenedor tipado
Envolver el estado en un dataclass le proporciona nombres de campo claros y autocompletado del editor, en lugar de obligarle a adivinar las claves de un diccionario.
@dataclass
class AppContext:
db: DatabaseConstruya el estado durante el inicio
Dentro del lifespan, construya cada objeto compartido y haga yield del contenedor para que viva durante toda la ejecución del servidor.
async def lifespan(server):
db = await Database.connect()
yield AppContext(db=db)Una única fuente de verdad
El estado compartido significa tener una única fuente de verdad: cada controlador ve la misma conexión, por lo que evita pools duplicados que podrían quedar abiertos.
No use variables globales
Evite las variables globales a nivel de módulo para las conexiones. Pasar el estado mediante el contexto mantiene las herramientas fáciles de probar y evita acoplamientos ocultos.
El estado es por servidor, no por llamada
El contexto de la aplicación se crea una vez al iniciar, no se reconstruye en cada solicitud, por lo que sus objetos persisten durante muchas llamadas a herramientas.
Acceda a él mediante la solicitud
Los controladores no importan el estado directamente. Reciben un objeto de contexto en el momento de la llamada que expone el valor cedido.
Combine conexiones y configuración
Su contenedor compartido puede contener más que clientes: almacene configuración, como URL base de API o indicadores de funcionalidades cargados durante el inicio.
@dataclass
class AppContext:
db: Database
base_url: strManténgalo prácticamente inmutable
Trate el estado compartido como mayormente de solo lectura. Modificarlo desde muchas llamadas simultáneas puede provocar errores sutiles y difíciles de rastrear.
Lifespan controla el ciclo de vida
Como el lifespan crea el estado, también se encarga de destruirlo, de modo que la creación y la limpieza permanecen juntas y bien organizadas.
Comprobación rápida
¿Qué se convierte en el estado compartido de la aplicación que pueden usar sus controladores?
Resumen: compartir el estado
Construye los objetos compartidos una vez en el lifespan, cede un contenedor tipado y permite que cada controlador lo lea. A continuación: cómo acceder a él. 🧩
Preguntas frecuentes
¿La lección «Compartir estado mediante el contexto de la aplicación» es gratis?
Sí — el texto completo de «Compartir estado mediante el contexto de la aplicación» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de MCP Academy, actualiza a CoddyKit PRO. El curso de MCP Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Compartir estado mediante el contexto de la aplicación»?
Pase objetos compartidos a cada controlador. Practicas MCP Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar MCP Academy?
No se requiere experiencia previa. MCP Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Compartir estado mediante el contexto de la aplicación»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de MCP Academy?
Sí. Cada lección de MCP Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- El hook de inicio del ciclo de vida
- Compartir estado mediante el contexto de la aplicación
- Acceder al objeto de contexto
- Cierre limpio y liberación de recursos