feat/cian-fullload-fast-incremental
main
Review #929: _cancelled was removed earlier in the PR but a stray assignment remained → NameError on every cooperative cancel (common exit path). Variable unused; mark_done is called unconditionally next line.
Save-at-end → save per leaf-bucket (краш/бан больше не теряет накопленное). Параллельная пагинация бакета (asyncio.gather + semaphore, concurrency=5) + снижен delay floor (1.5s, выделенный прокси) → кратное ускорение. on_bucket callback коммитит в БД сразу; cancel проверяется per-bucket.