Функция 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
#sayt
Rasmni sifatni yo'qotmasdan siqamiz
Rasmni siqish muammo emas, lekin sifatni yo'qotmaslik juda qiyin.
Squoosh - rasmni hajmini kamaytiradi. Uning boshqa servislardan farqi buning uchun internet kerak emas. Reklama va roʻyxatdan oʻtish ham yoʻq.
Squoosh.app
@special_tutorial🔥
#sayt
3D animatsiyalar tayyorlashda yordam beruvchi sayt. Batafsil imkoniyatlarni bilmoqchi boʻlsangiz, albatta saytga kirib koʻring.
👉RenderForest.com
@special_tutorial🔥
#sayt
Ey talaba xalqi, siz uchun yangiligimiz bor. Sessiyada ustozlaringiz konspekt soʻrashyaptimi? Unda ushbu sayt orqali soniyalar ichida istalgan maʼlumotlarni qoʻlyozma shakliga keltirib "yaxshi" maqsadlarda foydalaning. 😅
P.S.: Barcha talaba doʻstlaringizga ushbu postni yuboring, bir muammosini yechishga yordam bersangiz ajab emas.
Sayt 👉coo.by
@special_tutorial🔥
TypingClub
⌨️ Klaviaturada tez yozishni o'rganish uchun eng yaxshi saytlardan biri bu TypingClub saytidir: typingclub.com
🖥 Saytga kirib, ro'yxatdan o'ting va agar to'xtamasdan 2-3 oy saytlardagi mashqlarni bajarsangiz siz ham klaviaturaga qaramay yozadiganlardan bo'lib ketasiz.
👉🏼Birinchi raqamli Windows Blog | #foydali / #sayt
🧮Turli xil kalkulyatorlar yig’ilgan sayt
Omni Calculator sayti har bir vaziyat uchun 3,5 mingdan ortiq turli xil kalkulyatorlarni o’z ichiga oladi. Ushbu saytda oziq-ovqatlarning kaloriya tarkibini, o’qning tezligini, moliyaviy erkinlik qadar qancha yil ishlash kerakligi va boshqa ko’plab narsalarni bilib olishingiz mumkin — saytda deyarli hamma narsani osongina va bepul hisoblash mumkin.
Sayt qanday hisoblashini, qanday formuladan foydalanishigacha ko’rsatib beradi va hatto qiziqarli faktlarni ham aytib beradi. Saqlab qo’ying, asqotadi.
👉Sinab ko’rish uchun havola.
👉Birinchi raqamli Windows Blog | #foydali / #sayt
Foydalisaytlar to'plami bilan tanishing!
Earthcam.com – butun dunyodagi kameralar.
Safeweb.norton.com – kirmoqchi bo'lgan saytingizda virus bor yoki yo'qligini aniqlab beradi.
Flatuicolors.com – ilova yoki saytlarni front end qismi bilan ishlovchilar uchun ajoyib sayt.
Tailorbrands.com – o'zingiz logotip yarating.
👉🏼Birinchi raqamli Windows Blog | #foydali / #sayt
🧮Turli xil kalkulyatorlar yig’ilgan sayt
Omni Calculator sayti har bir vaziyat uchun 3,5 mingdan ortiq turli xil kalkulyatorlarni o’z ichiga oladi. Ushbu saytda oziq-ovqatlarning kaloriya tarkibini, o’qning tezligini, moliyaviy erkinlik qadar qancha yil ishlash kerakligi va boshqa ko’plab narsalarni bilib olishingiz mumkin — saytda deyarli hamma narsani osongina va bepul hisoblash mumkin.
Sayt qanday hisoblashini, qanday formuladan foydalanishigacha ko’rsatib beradi va hatto qiziqarli faktlarni ham aytib beradi. Saqlab qo’ying, asqotadi.
👉Sinab ko’rish uchun havola.
Manba:DigiTech
👉Birinchi raqamli Windows Blog | #foydali / #sayt