moved config = load_config() to lifespan
This commit is contained in:
@@ -32,9 +32,24 @@ logger = logging.getLogger(__name__)
|
|||||||
async def lifespan(app: FastAPI) -> AsyncIterator[None]:
|
async def lifespan(app: FastAPI) -> AsyncIterator[None]:
|
||||||
"""Manage application startup and shutdown resources."""
|
"""Manage application startup and shutdown resources."""
|
||||||
logger.info("ebook_search_startup")
|
logger.info("ebook_search_startup")
|
||||||
|
config = load_config()
|
||||||
|
app.state.config = config
|
||||||
|
logger.info(
|
||||||
|
"ebook_search_config_loaded top_k=%s embedding_model=%s embedding_base_url=%s vllm_base_url=%s "
|
||||||
|
"rerank_enabled=%s answer_enabled=%s library_paths=%s",
|
||||||
|
config.top_k,
|
||||||
|
config.embedding_model,
|
||||||
|
config.embedding_base_url,
|
||||||
|
config.vllm_base_url,
|
||||||
|
config.rerank.enabled,
|
||||||
|
config.answer_enabled,
|
||||||
|
len(config.library_paths),
|
||||||
|
)
|
||||||
|
if not config.library_paths:
|
||||||
|
logger.warning("ebook_search_no_library_paths_configured")
|
||||||
app.state.engine = get_postgres_engine(name="RICHIE", vector_engine=True)
|
app.state.engine = get_postgres_engine(name="RICHIE", vector_engine=True)
|
||||||
with Session(app.state.engine) as session:
|
with Session(app.state.engine) as session:
|
||||||
ensure_bm25_corpus(session, app.state.config)
|
ensure_bm25_corpus(session, config)
|
||||||
try:
|
try:
|
||||||
yield
|
yield
|
||||||
finally:
|
finally:
|
||||||
@@ -48,15 +63,6 @@ def create_app() -> FastAPI:
|
|||||||
app = FastAPI(title="EPUB Search", lifespan=lifespan)
|
app = FastAPI(title="EPUB Search", lifespan=lifespan)
|
||||||
app.add_middleware(ZstdMiddleware)
|
app.add_middleware(ZstdMiddleware)
|
||||||
app.mount("/static", StaticFiles(directory=STATIC_DIR), name="static")
|
app.mount("/static", StaticFiles(directory=STATIC_DIR), name="static")
|
||||||
app.state.config = load_config()
|
|
||||||
logger.info(
|
|
||||||
"ebook_search_config_loaded top_k=%s embedding_model=%s rerank_enabled=%s answer_enabled=%s library_paths=%s",
|
|
||||||
app.state.config.top_k,
|
|
||||||
app.state.config.embedding_model,
|
|
||||||
app.state.config.rerank.enabled,
|
|
||||||
app.state.config.answer_enabled,
|
|
||||||
len(app.state.config.library_paths),
|
|
||||||
)
|
|
||||||
|
|
||||||
app.include_router(admin_router)
|
app.include_router(admin_router)
|
||||||
app.include_router(health_router)
|
app.include_router(health_router)
|
||||||
|
|||||||
Reference in New Issue
Block a user