Функция 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
¿Que puede hacer este bot?
@MusicBestRobot_bot
Bot para buscar, descargar y guardar música.
Para buscar, debe ingresar el nombre de la canción o artista y el bot encontrará la pista por usted, para guardar su pista, simplemente envíela al bot y agréguela a su lista de reproducción.
Idiomas: inglés, ruso
(Visto en @botsgram_cu)
#música#descargas
¿Que puede hacer este bot?
@XFiles2LinkBot
Este bot ofrece enlaces de descarga para archivos de telegram
Idiomas: inglés
(Visto en @botsgram_cu)
#enlaces#descargas
¿Que puede hacer este bot?
@Utube_downloadbot
Puede descargar cualquier video individual de YouTube (no listas de reproducción) gratis. Simplemente envíe la URL de cualquier video de YouTube.
Idioma: inglés
(Visto en @botsgram_cu)
#youtube#descargas
¿Que puede hacer este bot?
@descargandomusica_Bot
La funcion de este bot es buscar la cancion que le solicitas y luego te la envia, funciona con una Amplia base de datos, también descarga de YouTube a través de enlaces
Idioma: español
(Visto en @botsgram_cu)
#música#descargas#youtube
¿Que puede hacer este bot?
@JustYoutubeMusicBot
¡Puede descargar música de YouTube / YouTube Music con diferentes calidades compatibles! 🎧
Idioma: inglés
(Visto en @botsgram_cu)
#música#youtube#descargas
¿Que puede hacer este bot?
@HeimanXUploader_bot
Cargue archivos a Telegram, descargue medios de YouTube, convierta archivos y más.
Idiomas: inglés
(Visto en @botsgram_cu)
#youtube#descargas#edición
¿Que puede hacer este bot?
@OkGoogleMusicBot
Puede buscar y descargar cualquier pista de Soundcloud ☁️
Usando el modo inline, envíale el título de la pista y te mostrará lo que pude encontrar.
Idiomas: inglés, ruso
(Visto en @botsgram_cu)
#música#descargas#soundcloud
¿Que puede hacer este bot?
@YoutubeV2DXBot
Con este bot podrás descargar videos y audios de YouTube en diferentes formatos.
Idioma: inglés
(Visto en @botsgram_cu)
#música#videos#descargas#youtube
¿Que puede hacer este bot?
@TokenTikbot
El bot lo ayudará a descargar rápidamente cualquier video y música de TikTok sin una marca de agua.
Idiomas: inglés, ruso
(Visto en @botsgram_cu)
#música#videos#descargas#tiktok
¿Que puede hacer este bot?
@TikTokenBot
Un bot para descargar videos sin marca de agua de TikTok, y también ayudará a descargar cualquier pista de música.
Idiomas: inglés, ruso
(Visto en @botsgram_cu)
#videos#música#tiktok#descargas
¿Que puede hacer este bot?
@fmoviesearchbot
Este bot te ayudará a encontrar cualquier tipo de películas fácilmente.
Idiomas: inglés
(Visto en @botsgram_cu)
#películas#series#descargas
¿Que puede hacer este bot?
@cloudy_files_bot
Este es un bot de servicio en la nube. Le permite administrar archivos y descargarlos.
Idiomas: inglés
(Visto en @botsgram_cu)
#descargas#nube#archivos