07.4.3.18.1 — Runtime Event Skeleton Architecture
This commit is contained in:
@@ -7,22 +7,19 @@ from aiogram.client.default import DefaultBotProperties
|
||||
|
||||
from src.bootstrap.logging import setup_logging
|
||||
from src.core.config import load_settings
|
||||
from src.notifications.targets import NotificationTargetRegistry
|
||||
from src.storage.schema import init_schema
|
||||
from src.telegram.routers import setup_routers
|
||||
from src.trading.journal.service import JournalService
|
||||
|
||||
|
||||
def create_app() -> tuple[Bot, Dispatcher]:
|
||||
# загружаем настройки приложения
|
||||
settings = load_settings()
|
||||
|
||||
# настраиваем logging
|
||||
setup_logging(settings.log_level)
|
||||
|
||||
# сервис журнала
|
||||
journal = JournalService()
|
||||
|
||||
# инициализация схемы БД
|
||||
try:
|
||||
init_schema()
|
||||
except Exception as exc:
|
||||
@@ -40,7 +37,6 @@ def create_app() -> tuple[Bot, Dispatcher]:
|
||||
pass
|
||||
raise
|
||||
|
||||
# лог старта приложения
|
||||
try:
|
||||
journal.log_info(
|
||||
"app_start",
|
||||
@@ -52,24 +48,17 @@ def create_app() -> tuple[Bot, Dispatcher]:
|
||||
},
|
||||
)
|
||||
except Exception:
|
||||
# журнал не должен ломать запуск приложения
|
||||
pass
|
||||
|
||||
# здесь позже можно инициализировать stream/cache сервисы:
|
||||
# init_market_cache()
|
||||
# init_market_stream()
|
||||
# init_auto_trade_runner()
|
||||
|
||||
# создаем Telegram Bot
|
||||
bot = Bot(
|
||||
token=settings.bot_token,
|
||||
default=DefaultBotProperties(parse_mode=settings.bot_parse_mode),
|
||||
)
|
||||
|
||||
# создаем Dispatcher
|
||||
NotificationTargetRegistry.set_bot(bot)
|
||||
|
||||
dispatcher = Dispatcher()
|
||||
|
||||
# подключаем routers
|
||||
setup_routers(dispatcher)
|
||||
|
||||
return bot, dispatcher
|
||||
@@ -1,3 +1,5 @@
|
||||
# app/src/bootstrap/logging.py
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
@@ -7,4 +9,4 @@ def setup_logging(log_level: str) -> None:
|
||||
logging.basicConfig(
|
||||
level=getattr(logging, log_level.upper(), logging.INFO),
|
||||
format="%(asctime)s | %(levelname)s | %(name)s | %(message)s",
|
||||
)
|
||||
)
|
||||
Reference in New Issue
Block a user