fix: update endpoints
This commit is contained in:
28
src/main.py
28
src/main.py
@@ -2,13 +2,18 @@ from __future__ import annotations
|
||||
from contextlib import asynccontextmanager
|
||||
import secrets
|
||||
from typing import AsyncGenerator
|
||||
from apscheduler.schedulers.asyncio import AsyncIOScheduler
|
||||
from fastapi import Depends, FastAPI, status
|
||||
from fastapi.openapi.docs import get_redoc_html, get_swagger_ui_html
|
||||
from fastapi.responses import HTMLResponse
|
||||
from fastapi.security import HTTPBasic, HTTPBasicCredentials
|
||||
from src.application.commands import PollKycSessionsCommand
|
||||
from src.application.domain.enums import LogFormat,LogLevel
|
||||
from src.application.domain.exceptions import ApplicationException
|
||||
from src.infrastructure.beorg import BeorgService
|
||||
from src.infrastructure.config.settings import get_settings
|
||||
from src.infrastructure.database.context import async_session_maker
|
||||
from src.infrastructure.database.unit_of_work import UnitOfWork
|
||||
from src.infrastructure.vault import JwtKeyStore, start_jwt_keys_scheduler
|
||||
from src.infrastructure.utils import generate_instance_id
|
||||
from src.infrastructure.logger import logger
|
||||
@@ -54,10 +59,33 @@ async def lifespan(app: FastAPI) -> AsyncGenerator[None, None]:
|
||||
await jwt_store.refresh()
|
||||
|
||||
jwt_scheduler = start_jwt_keys_scheduler(jwt_store, refresh_seconds=settings.JWT_KEYS_REFRESH_SECONDS)
|
||||
kyc_poll_command = PollKycSessionsCommand(
|
||||
unit_of_work=UnitOfWork(session_factory=async_session_maker,logger=logger),
|
||||
logger=logger,
|
||||
beorg_service=BeorgService(
|
||||
project_id=settings.BEORG_PROJECT_ID,
|
||||
machine_uid=settings.BEORG_MACHINE_UID,
|
||||
token=settings.BEORG_TOKEN,
|
||||
process_info=settings.BEORG_PROCESS_INFO,
|
||||
timeout=settings.BEORG_TIMEOUT,
|
||||
),
|
||||
batch_size=settings.KYC_POLL_BATCH_SIZE,
|
||||
)
|
||||
kyc_scheduler = AsyncIOScheduler()
|
||||
kyc_scheduler.add_job(
|
||||
kyc_poll_command.__call__,
|
||||
'interval',
|
||||
seconds=settings.KYC_POLL_SECONDS,
|
||||
max_instances=1,
|
||||
)
|
||||
kyc_scheduler.start()
|
||||
|
||||
app.state.jwt_key_store = jwt_store
|
||||
app.state.jwt_keys_scheduler = jwt_scheduler
|
||||
app.state.kyc_scheduler = kyc_scheduler
|
||||
yield
|
||||
app.state.kyc_scheduler.shutdown(wait=False)
|
||||
app.state.jwt_keys_scheduler.shutdown(wait=False)
|
||||
logger.info(f'Users service instance ended with id {instance_id}')
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user