fix(): fix e2e ml tests, handle no entries for vacancies

This commit is contained in:
gitgernit
2025-11-23 11:44:08 +03:00
parent a879da4ed5
commit b15282baef
8 changed files with 40 additions and 27 deletions
+12 -4
View File
@@ -3,6 +3,8 @@ import asyncio
import logging
import os
import sys
from collections.abc import AsyncIterator
from contextlib import asynccontextmanager
from pathlib import Path
from typing import Final
@@ -11,6 +13,7 @@ from dishka import AsyncContainer
from dishka.integrations.fastapi import setup_dishka
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from sentence_transformers import SentenceTransformer
from template_project.ml.configuration import load_configuration
from template_project.ml.ioc.make import make_ioc
@@ -37,10 +40,18 @@ LOG_CONFIG: Final = {
}
@asynccontextmanager
async def lifespan(app: FastAPI) -> AsyncIterator[None]:
await app.state.dishka_container.get(SentenceTransformer)
yield
await app.state.dishka_container.close()
def make_asgi_application(
ioc: AsyncContainer,
) -> FastAPI:
app = FastAPI(
lifespan=lifespan,
docs_url="/docs",
title="ML Service",
description="ML Service API",
@@ -81,10 +92,7 @@ async def _main(
access_log=configuration.server.access_log,
)
server = uvicorn.Server(config)
try:
await server.serve()
finally:
await ioc.close()
await server.serve()
def main() -> None: