Как реализовать контролируемый параллелизм и backpressure в asyncio, если внешние ресурсы (БД/HTTP) ограничены?
Ограничивайте конкуренцию asyncio.Semaphore/пулами соединений, очередьйте работу через asyncio.Queue с фиксированным размером и воркерами, ставьте явные таймауты (asyncio.timeout) и прокидывайте отмену. Не запускайте «тысячи gather»; используйте TaskGroup для структурированной конкуренции, rate-limit (токен-бакет) и ретраи.
Библиотека собеса по Python
Post #1389
432