Remove .env_example file and implement MetricsUpdater service for enhanced metrics tracking. Update bot.py to start and stop metrics updater, and improve database connection handling in CRUD operations with metrics tracking. Update README with details on metrics issues and fixes.

This commit is contained in:
2025-09-08 23:18:55 +03:00
parent 596a2fa813
commit 23c30a78e2
11 changed files with 744 additions and 49 deletions

9
bot.py
View File

@@ -13,6 +13,7 @@ from loader import loader
from services.infrastructure.http_server import start_http_server, stop_http_server
from services.infrastructure.logger import get_logger
from services.infrastructure.pid_manager import get_pid_manager, cleanup_pid_file
from services.infrastructure.metrics_updater import start_metrics_updater, stop_metrics_updater
from config.constants import DEFAULT_HTTP_HOST, DEFAULT_HTTP_PORT
# Настройка логирования
@@ -42,6 +43,10 @@ async def main():
logger.info("🌐 Запуск HTTP сервера для метрик...")
http_runner = await start_http_server(host=DEFAULT_HTTP_HOST, port=DEFAULT_HTTP_PORT)
# Запускаем обновление метрик
logger.info("📊 Запуск обновления метрик...")
await start_metrics_updater(update_interval=30, db_path=config.DATABASE_PATH)
# Запускаем бота
await loader.start_polling()
@@ -51,6 +56,10 @@ async def main():
logger.error(f"💥 Критическая ошибка: {e}")
raise
finally:
# Останавливаем обновление метрик
logger.info("📊 Остановка обновления метрик...")
await stop_metrics_updater()
# Останавливаем HTTP сервер
if http_runner:
logger.info("🛑 Остановка HTTP сервера...")