Stabilize discovery lifecycle and rescan summary
This commit is contained in:
13
README.md
13
README.md
@@ -32,6 +32,8 @@ UI: `http://<host>:8000/`
|
||||
IGNIS_API_KEY=change-me
|
||||
APP_TIMEZONE=Asia/Novosibirsk
|
||||
SCAN_NETWORK=
|
||||
DISCOVERY_INTERVAL_SECONDS=600
|
||||
DISCOVERY_BACKGROUND_MISSING_THRESHOLD=2
|
||||
LOG_LEVEL=INFO
|
||||
EVENT_LOG_RETENTION_DAYS=30
|
||||
```
|
||||
@@ -45,8 +47,12 @@ IGNIS_SYNC_DATABASE_URL=sqlite:///./ignis.db
|
||||
|
||||
Замечание по discovery:
|
||||
|
||||
- если на хосте есть VPN или несколько интерфейсов, лучше явно задать `SCAN_NETWORK`
|
||||
- если `SCAN_NETWORK` не задан, сервер сам выбирает private IPv4-подсети обычных интерфейсов и старается не сканировать VPN / docker / tunnel-интерфейсы
|
||||
- если на хосте есть VPN или несколько интерфейсов, всё равно лучше явно задать `SCAN_NETWORK`
|
||||
- формат: `192.168.0.0/24` или список через запятую
|
||||
- startup scan выполняется до старта фонового цикла
|
||||
- background refresh по умолчанию удаляет устройство только после двух подряд промахов discovery
|
||||
- manual `POST /devices/rescan` удаляет оффлайн-устройства сразу и возвращает summary (`found`, `added`, `updated`, `removed_offline`, `pending_removal`, `online`)
|
||||
|
||||
## Авторизация
|
||||
|
||||
@@ -162,7 +168,7 @@ curl -X POST 'http://localhost:8000/schedules/once' \
|
||||
timeout 120s .venv/bin/python -m unittest discover -s tests -v
|
||||
```
|
||||
|
||||
Сейчас есть 17 тестов. Покрыты:
|
||||
Сейчас есть 25 тестов. Покрыты:
|
||||
|
||||
- auth и роли
|
||||
- lifecycle API-ключей
|
||||
@@ -170,6 +176,9 @@ timeout 120s .venv/bin/python -m unittest discover -s tests -v
|
||||
- валидация scene
|
||||
- one-shot и cron расписания
|
||||
- миграция legacy jobs
|
||||
- auto-subnet selection для discovery
|
||||
- background offline cleanup threshold
|
||||
- manual rescan summary и immediate cleanup
|
||||
- агрегация stats без двойного счёта `*_requested`
|
||||
|
||||
## Ограничения
|
||||
|
||||
Reference in New Issue
Block a user