feat: fetch views manually and worker
This commit is contained in:
14
src/main.py
14
src/main.py
@@ -7,10 +7,12 @@ from shared import logger
|
||||
from src import dependencies
|
||||
from src.adapter.jwt import JWT
|
||||
from src.adapter.postgres import Postgres
|
||||
from src.adapter.telegram import Telegram
|
||||
from src.adapter.telegram_bot import TelegramBot
|
||||
from src.adapter.telegram_parser import TelegramParser
|
||||
from src.config import settings
|
||||
from src.controller.http import api_router
|
||||
from src.controller.telegram_callback import telegram_callback_router
|
||||
from src.controller.worker.views_worker import FetchViewsWorker
|
||||
from src.usecase import Usecase
|
||||
|
||||
|
||||
@@ -18,9 +20,11 @@ from src.usecase import Usecase
|
||||
async def lifespan(app: FastAPI) -> AsyncGenerator[None]:
|
||||
await postgres.connect()
|
||||
await telegram.start_polling()
|
||||
await views_worker.start()
|
||||
|
||||
yield
|
||||
|
||||
await views_worker.stop()
|
||||
await telegram.stop_polling()
|
||||
await postgres.close()
|
||||
|
||||
@@ -29,15 +33,19 @@ logger.init(settings.logger)
|
||||
|
||||
# Dependencies
|
||||
postgres = Postgres(settings.db)
|
||||
telegram = Telegram(settings.telegram, telegram_callback_router)
|
||||
telegram = TelegramBot(settings.telegram, telegram_callback_router)
|
||||
telegram_views_fetcher = TelegramParser(settings.telegram_parser)
|
||||
jwt_encoder = JWT(settings.jwt)
|
||||
|
||||
usecase = Usecase(
|
||||
database=postgres,
|
||||
telegram_writer=telegram,
|
||||
telegram_bot=telegram,
|
||||
telegram_parser=telegram_views_fetcher,
|
||||
jwt_encoder=jwt_encoder,
|
||||
)
|
||||
dependencies.set_usecase(usecase)
|
||||
|
||||
views_worker = FetchViewsWorker(config=settings.fetch_views_worker)
|
||||
|
||||
app = FastAPI(lifespan=lifespan, version=settings.logger.APP_VERSION)
|
||||
app.include_router(api_router)
|
||||
|
||||
Reference in New Issue
Block a user