gather hatalı kullanımı (ARCH2032)
Anahtar python.async.gather-misuse · Önem info · Kategori async
Birbirinden bağımsız coroutine’leri ayrı ayrı await etmek paralelleştirme fırsatını kaçırır. İlk hatada diğer sonuçları kaybetmemek gerektiğinde ise gather(..., return_exceptions=True) kullanılmalıdır.
Hatalı
Bölüm başlığı “Hatalı”async def load(): a = await fetch_a() # ardışık, paralelleşmiyor b = await fetch_b() return a, bimport asyncio
async def load(): a, b = await asyncio.gather(fetch_a(), fetch_b()) return a, bDüzeltme
Bölüm başlığı “Düzeltme”Bağımsız coroutine’leri asyncio.gather ile paralel çalıştırın; sonuç kaybını önlemek için return_exceptions=True ekleyin.