Что внутри RackGrid, часть 6/7. Сканер.

Автоматическое обнаружение новых машин — фича из первой части истории. Функция на первый взгляд простая: пробежаться по диапазону адресов и найти майнеры. Но она отлично иллюстрирует разницу между «работает у меня на ноутбуке» и «работает у клиента на площадке». Сканер сделан как отдельный сервис с конечным автоматом: выполняется → завершён | отменён | ошибка. Что в нём важного: Отменяемость. Кнопка «Остановить» действительно останавливает: сигнал отмены снимает ещё не начатые пробы, а не ждёт конца диапазона. Скан на пару тысяч адресов, который нельзя прервать, — это функция, которой один раз воспользуются и больше не тронут. Живая выдача. Таблица пополняется по ходу скана, а не после его окончания. Психологически это меняет всё: ты видишь первые найденные машины через секунды и уже понимаешь, туда ли вообще смотришь. Автоочистка результатов через 30 минут. Забытая вкладка не должна держать в памяти процесса результаты сканов недельной давности. Пробы зависят от выбранных портов. Порт 4028 — это Antminer, а следом Whatsminer; порт 80 — PetBit. Отключил порт в настройках — соответствующая проба вообще не запускается. Сканировать заведомо неиспользуемые порты — это тот же налог на таймауты, о котором была вторая часть серии, только умноженный на размер диапазона. Ну и настройки скана (число потоков, таймаут, порты) вынесены в интерфейс и доступны только глобальному администратору — потому что 128 потоков на слабом железе площадки это одна история, а на сервере совсем другая. 👉 Сканер есть в живом демо: https://danildanil86660.github.io/RackGridLiveDemo

Что внутри RackGrid, часть 6/7. Сканер. | Сетка — социальная сеть от hh.ru Что внутри RackGrid, часть 6/7. Сканер. | Сетка — социальная сеть от hh.ru Что внутри RackGrid, часть 6/7. Сканер. | Сетка — социальная сеть от hh.ru Что внутри RackGrid, часть 6/7. Сканер. | Сетка — социальная сеть от hh.ru