Функция asyncio.wait() это еще один способ вызвать множество асинхронных задач.
Она работает в нескольких режимах.
1. Самый простой - ждем завершения всех задач
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(10)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.ALL_COMPLETED
)
for task in done:
try:
print(task.result())
except Exception as e:
print(e)
Очень похоже на gather, но работает не так.
▫️возвращает не результаты, а два сета с объектами Task у которых можно забрать результат через task.result() если они в списке done
▫️не гарантирует порядок результатов так как оба объекта это set
▫️не выбрасывает исключение когда оно появляется, а сохраняет его в Task. Исключение появится когда попробуете забрать резултьтат.
2. Ждем завершения первой задачи, даже если там ошибка.
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(3)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_COMPLETED
)
# в done может быть несколько задач!
for task in done:
try:
print(task.result())
except Exception as e:
print(f"Fail: {e}")
# Оставшиеся задачи в pending, как правило, нужно отменить, иначе они будут продолжать работать
for task in pending:
task.cancel()
В сете done будут таски которые успели завершится, причем как успешно так и нет.
3. До первой ошибки.
Тоже самое, но с аргументом FIRST_EXCEPTION
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_EXCEPTION
)
Функция завершается как только первая задача упадет с ошибкой.
Учтите, что в любом случае done вы можете обранужить несколько задач, как с ошибками так и успешные.
↗️ Полный листинг примеров здесь
#async
#Salat
Amerikanskiy salat😎
✔️Kerakli masalliqlar:
400gr tovuq file🍗
1ta kichkina qizil karom
1ta kichkina karom🥬
200gr mayonez 🥫
1ta kanserva garo'x🫛
Ukrop va kinza🥦
✔️Tayyorlanishi:
Tovuq filesini yarim soat faqat tuz solib qaynatib olamiz va qaynab chiqgandan keyin fileni va karomlarimizani videoda ko'rsatilgandaka mayda qilib to'rab olamiz. Ukrop va kinzaniyam mayda qilib to'rab olamiz. Idishimizaga to'ralgan narsalani sovolamiza va garo'xniyam solamiz. 200-250 gr mayonez solib yaxshilab aralashtirib tashimiz. Amerikanskiy salatimiz tayyor bo'ldi
Yoqimli ishtaxa🥰
Telegram | Instagram | YouTube
Youtube
#JimatRamadan 17 | KH Ahmad Mustofa Bisri – Amalan Setelah Sholat Jumat
Video ke-17 #JimatRamadan ini, KH Ahmad Mustofa Bisri akan menyampaikan amalan yang dibaca setelah sholat Jumat. Bagaimanakah susunan amalan tersebut? Simak video berikut ini.
#gusmuschannel#gusmus#amalan#amalanjumat#sholat#shalat#salat#salatjumat#sholatjumat#shalatjumat#dakwah#sunnah#doa#kajianislam#ramadan#ramadhan#ramadankareem#ramadhankareem