HMP / agents /check_agents.py
GitHub Action
Sync from GitHub with Git LFS
bb410e4
raw
history blame
1.43 kB
# agents/check_agents.py
import os
import sys
from datetime import datetime, UTC
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
from tools.storage import Storage
storage = Storage()
def print_config():
print("⚙️ Конфигурация:")
rows = storage.conn.execute("SELECT key, value FROM config").fetchall()
if not rows:
print(" • (таблица config пуста)")
for key, value in rows:
print(f" • {key:20} = {value}")
print()
def check_all_processes():
print_config()
print(f"🗄️ Путь к базе данных: {storage.db_path}\n")
processes = storage.conn.execute("SELECT name, heartbeat FROM main_process").fetchall()
if not processes:
print("⛔ В базе нет активных процессов.")
return
print("📋 Статус процессов:")
now = datetime.now(UTC)
for name, heartbeat in processes:
try:
hb_time = datetime.fromisoformat(heartbeat)
delta = (now - hb_time).total_seconds()
status = "🟢 Активен" if delta < 180 else "🔴 Не отвечает"
print(f" • {name:20}{status} (обновлён {int(delta)} сек. назад)")
except Exception as e:
print(f" • {name:20} — ⚠️ Ошибка: {e}")
if __name__ == "__main__":
check_all_processes()