Files

2.7 KiB
Raw Permalink Blame History

Conol Self-Healing Auto-Repair Daemon

eni_repair_daemon.py — непрерывный мониторинг и авто-ремонт пула аккаунтов.

Запуск

cd C:\Users\User\Desktop\conol_autoreg
python eni_repair_daemon.py          # непрерывный демон (каждые 5 мин)
python eni_repair_daemon.py --once   # разовый чек + ремонт

Из start.bat: пункты 7 (демон) и 8 (разовый).

Фазы цикла

Phase 1: Health Check

Проверяет POST /api/sessions на всех аккаунтах параллельно (5 конкурентов), timeout 15s.

Phase 2: Server-Down Detection

Если >80% не-cookie ошибок = HTTP 500 → пропускает весь ремонт. Это conol.ai серверная проблема, не наши куки. Логируется server_down. Когда сервер оживает — server_up.

Отличие от per-account ошибок:

  • 1-2 аккаунта 500 = индивидуальный сбой → repair
  • 80%+ аккаунтов 500 = сервер мёртв → ждать

Phase 3: Individual Repair

Аккаунт провалил MAX_FAIL_STREAK=3 проверок подряд:

Ошибка Стратегия Инструмент
HTTP 401 / "unauthorized" / "cookie" Re-login через CDP relogin_account()
"no_cookies" (статус 0) Re-register eni_conol.py reg 1

Phase 4: Credit Monitoring

Баланс < 100 cr → авто-фарм квестов на этом аккаунте.

Phase 5: Gateway Health

Если гейтвей не отвечает → taskkill старого + запуск gateway.py. До 3 попыток с паузой 30s. После успешного перезапуска — POST /pool/reload для подхвата изменений.

Логи и состояние

  • eni_repair_log.jsonl — все события (health_ok, health_fail, repair_login, repair_farm, server_down, gateway_restart, ...)
  • eni_repair_state.json — состояние между циклами (fail-счётчики, consecutive_server_downs, время последнего цикла)

Пороги

Параметр Значение ENV override
Интервал проверки 300s (5 мин) ENI_REPAIR_INTERVAL
Низкий баланс < 100 cr CREDIT_LOW_THRESHOLD
Мёртвый баланс 0 cr CREDIT_DEAD_THRESHOLD
Попыток до ремонта 3 MAX_FAIL_STREAK
Попыток перезапуска GW 3 GATEWAY_RESTART_ATTEMPTS