From 6d552b035a8db2c7ecf1378a6724d0c39e00b51e Mon Sep 17 00:00:00 2001 From: Hitonabi Date: Sat, 27 Jun 2026 19:29:44 +0200 Subject: [PATCH] Refactor: Mem0-Sidecar nutzt lifespan statt deprecated on_event Co-Authored-By: Claude Opus 4.8 --- mem0_service/app.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/mem0_service/app.py b/mem0_service/app.py index 9ced76d..9cbf576 100644 --- a/mem0_service/app.py +++ b/mem0_service/app.py @@ -20,6 +20,7 @@ Bind: 127.0.0.1 (nur lokal; MC2 proxyt nach außen). import logging import os +from contextlib import asynccontextmanager from fastapi import FastAPI, HTTPException from pydantic import BaseModel @@ -94,7 +95,6 @@ def build_memory() -> Memory: return m -app = FastAPI(title="MC2 Mem0 Sidecar") _mem: Memory | None = None @@ -105,14 +105,18 @@ def mem() -> Memory: return _mem -@app.on_event("startup") -def _startup() -> None: +@asynccontextmanager +async def lifespan(_app: FastAPI): logging.basicConfig(level=logging.INFO) try: - mem() + mem() # Memory beim Start aufbauen (Chroma öffnen, Modelle anpingen) log.info("Mem0 bereit (chroma=%s, embed=%s, llm=%s)", CHROMA_PATH, EMBED_MODEL, LLM_MODEL) except Exception: log.exception("Mem0-Init fehlgeschlagen (Dienst läuft, /health meldet down)") + yield + + +app = FastAPI(title="MC2 Mem0 Sidecar", lifespan=lifespan) # --- Mapping Mem0 <-> MC2-API-Form -----------------------------------------------