Initial commit: Add infrastructure and bot project
This commit is contained in:
50
infra/monitoring/main.py
Normal file
50
infra/monitoring/main.py
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Основной скрипт для запуска модуля мониторинга сервера
|
||||
"""
|
||||
|
||||
import asyncio
|
||||
import logging
|
||||
import os
|
||||
import sys
|
||||
|
||||
# Добавляем корневую папку проекта в путь
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..'))
|
||||
|
||||
from dotenv import load_dotenv
|
||||
from infra.monitoring.server_monitor import ServerMonitor
|
||||
|
||||
# Загружаем переменные окружения из .env файла
|
||||
load_dotenv()
|
||||
|
||||
# Настройка логирования
|
||||
logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
|
||||
)
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
async def main():
|
||||
"""Основная функция запуска мониторинга"""
|
||||
try:
|
||||
# Создаем экземпляр мониторинга
|
||||
monitor = ServerMonitor()
|
||||
|
||||
# Отправляем статус при запуске
|
||||
await monitor.send_startup_status()
|
||||
|
||||
# Запускаем основной цикл мониторинга
|
||||
await monitor.monitor_loop()
|
||||
|
||||
except KeyboardInterrupt:
|
||||
logger.info("Мониторинг остановлен пользователем")
|
||||
except Exception as e:
|
||||
logger.error(f"Критическая ошибка в мониторинге: {e}")
|
||||
raise
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Запускаем асинхронную функцию
|
||||
asyncio.run(main())
|
||||
Reference in New Issue
Block a user