check() filters the pool at start, but a host can vanish afterwards (rig.local stopped resolving during the 2026-09-22 CMS-2026-2377 re-index; same on 2026-09-04) and embed_texts let the first transport error abort the whole run. Now an httpx.TransportError drops that host (HostPool.drop) and the batch is retried elsewhere; only when no host is left does a RuntimeError name the last failure. acquire() and acquire_generation() on an empty pool raise the same clear error instead of min()/max()'s ValueError. HTTP error responses still raise through raise_for_status — that is a model/config problem, not a dead host.
11 KiB
11 KiB