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]:
|
||||
"""Manage application startup and shutdown resources."""
|
||||
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)
|
||||
with Session(app.state.engine) as session:
|
||||
ensure_bm25_corpus(session, app.state.config)
|
||||
ensure_bm25_corpus(session, config)
|
||||
try:
|
||||
yield
|
||||
finally:
|
||||
@@ -48,15 +63,6 @@ def create_app() -> FastAPI:
|
||||
app = FastAPI(title="EPUB Search", lifespan=lifespan)
|
||||
app.add_middleware(ZstdMiddleware)
|
||||
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(health_router)
|
||||
|
||||
Reference in New Issue
Block a user