2.7 KiB
2.7 KiB
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 |