Функция 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
Привет! Данияр на связи.
Поделюсь планами на следующие 3 года. Планы есть планы, это не обещания, они могут меняться, но на сегодня я вижу раскрытие вселенной в таком порядке. В скобках месяц завершения книги, ориентировочный, разумеется. Все это, конечно, довольно оптимистично для меня, но я постараюсь писать чаще и больше, чтобы уложиться в сроки, но не потерять в качестве.
• Крафтер-2 (ноябрь 2023)
• Сидус-3 (декабрь 2023)
• Дисгардиум-12.2 (декабрь 2023)
• Дисгардиум-12.3 (март 2024)
• Нокаут-3 (в соавторстве с Максом Лагно, 2024)
• Сидус-4 (апрель 2024)
• Крафтер-3 (май 2024)
• 99 мир — 3 (июль 2024)
• Кирпичи 3.0 (август 2024)
• Мета-2 (октябрь 2024)
• 99 мир — 4 (декабрь 2024)
• 99 мир — 5 (февраль 2025)
• Жатва душ — 2 (апрель 2025)
• Жатва душ — 3 (июль 2025)
• Мета-3 (сентябрь 2025)
• Селекция-1
• Селекция-2
• Селекция-3
• Второй мир — 1
• Второй мир — 2
• Второй мир — 3
«Нокаут-3» больше зависит от Макса, ему интересно, но у него свои серии. Как оба найдем время, расскажем историю от «Кирки» до «Сноусторма» + расскажем о Третьей мировой.
«Селекция» пока без точных сроков, зависит от того, как пойдут другие серии и вашего интереса. «Второй мир» — продолжение истории Луки Децисиму в новом мире. Название рабочее, потому что может так случиться, что это будет совершенно отдельная серия.
Так же я сейчас могу недооценивать свою графоманию и ошибиться в количестве томов серий.
#планы#levelup
Создай карту своих достижений
Для того, чтобы повысить свою мотивацию, особенно в сложные периоды жизни, хорошо заиметь карту достижений.
Делается она так:
📎Возьми лист бумаги, ручки, карандаши, маркеры. Хорошо, если ты знаешь, что такое mind map, можно воспользоваться таким сервисом.
📎Прочерти длинную линию и разбей ее на временные периоды (по 10 лет, по 5 или даже меньше).
📎После этого вспомни все свои достижения на каждом этапе жизни и нанеси их на бумагу.
📎К каждому пункту добавь слова или картинки, которые связаны именно с этим событием. Используй цветные маркеры!
📎Держи карту на видном месте. И в тот момент, когда все будет валиться из рук, или покажется, что все идет не так, она будет напоминать тебе, сколько всего ты уже смог достичь!
#levelup#improvingyourself
@selfdeprules
🔥 BU O‘YIN EMAS — BU PORTLASH.
2 kunlik adrenalin.
Cheksiz gaming.
Haqiqiy battle.
⚡ Bu yerda tomoshabin va faqat o‘yinchilar bor.
⚡ Bu yerda tasodif yo‘q — faqat mahorat gapiradi.
⚡ Bu yerda oddiylik yo‘q — faqat shov-shuv.
🚀 Sahna tayyor. Maydon qiziyapti.
SEN QACHON CHIQASAN?
—————————
🔥 THIS ISN’T A GAME — IT’S AN EXPLOSION.
2 days of adrenaline.
Unlimited gaming.
Real battles.
⚡ No spectators — only true players.
⚡ No luck — only skill speaks.
⚡ Nothing ordinary — only pure hype.
🚀 The stage is set. The arena is heating up.
WHEN DO YOU STEP IN?
#GameFest2026#LevelUp#BattleMode
🎮 Attention Gamers! 📸 Big 200 Go!Bots giveaway!! Capture Epic Moments and Win Big! 🏆
📢 Get ready for the ultimate gaming challenge! Introducing the 🌟 EA Games Screenshot Challenge 🌟 brought to you by Health Hero. 🎉 Show off your gaming skills, share your most jaw-dropping EA Games screenshots, and earn 💪 Health Hero rewards!
Starts: Tuesday, June 20, 2023
Ends: Tuesday, June 23, 2023
📸How to participate? Visit https://zealy.io/c/healthhero-7008/questboard to get your quests started!
📢 Don't wait! Grab your gaming gear, start snapping those jaw-dropping screenshots, and let the gaming magic begin! 🚀✨
📢 Disclaimer: This challenge is purely for gaming enthusiasts and is not endorsed or affiliated with EA Games. It's all about celebrating our shared love for gaming and having a blast together!
🎮📸#GamingHeroes#EAGameScreenshotChallenge#HealthHero#CaptureTheMoment#LevelUp#GameOn
@Axenia_Bot
Qué puede hacer este bot?
Este bot puede contar los puntos de karma en grupos. Escriba '+' para subir o '-' para reducir puntos al usuario que responde.
Idioma: Inglés, Ruso, Ucraniano, Uzbeco, Turco
(visto en @BotsGram_cu)
#karma, #ranking, #points, #toplist, #stats, #statistic, #inline, #levelup, #group, #top, #analytic, #statistics, #statistics, #member, #member, #groups, #activity