Пул за всю историю не сделал ни одной ротации: rotate_proxy() жёстко привязан к
хосту api.asocks.com, а три купленных порта mobileproxy несут ссылки на
aproxy.site и отвергались до HTTP-вызова. При этом замер показал, что ротация —
единственное, что снимает выгорание адреса: один IP держит 18-20 карточек Авито
(четверти 100/44/0/0), со сменой каждые 15 обвал исчезает совсем (91/64/73/83).
Диспетчеризация по хосту rotate_url. Путь ASocks не тронут (POST + Bearer,
лимит 3/сутки). Для aproxy.site — GET с format=json без заголовков авторизации:
секрет лежит в самом URL, отправлять туда токен ASocks нельзя. Успех признаётся
по JSON status==OK, а не по HTTP-коду. new_ip пишется в scrape_proxies.exit_ip,
rt отдаётся как RotationResult.reconnect_delay_s — следующей задаче он нужен,
чтобы выждать переподключение канала: замер показал, что сразу после смены IP
две карточки уходят в таймаут.
Отдельный предохранитель MOBILEPROXY_DAILY_ROTATION_LIMIT=200/сутки: кулдауна у
провайдера не обнаружено (13 ротаций подряд дали 13 уникальных адресов), потолок
нужен только против runaway-цикла.