Функция 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
YouTube Downloaders
You can use any of these downloaders to download videos directly from ReVanced/ReVanced Extended
➖➖➖➖➖➖➖➖➖➖
Open Source Downloader
- NewPipe 0.25.1
- NewPipe x Sponsorblock 0.25.1
- Seal 1.9.2
- YTDLnis 1.6.1
- SpotiFlyer 3.6.3
➖➖➖➖➖➖➖➖➖➖
Close Source Downloader
- PowerTube 5.0.3
- DVD 0.1.5
- YMusic 3.7.16
- YouTube Downloader 8.1
➖➖➖➖➖➖➖➖➖➖
- Set downloader to RVX/RV
Join: @ReVanced_MMT
Discussion | Archive
#downloader
SpotiFLAC📱
Mobile port of SpotiFLAC written in Flutter, powered by a Go backend for high performance. Download Spotify tracks in true FLAC from Tidal, Qobuz, & Amazon Music — no ads, no subscription.
- 📥DLs:GitHub
- 🖥Preview
- 🧑💻SourceCode
❤️Follow us:@AndroBusket
📨 Tags: #android#downloader#music
Cobalt
A media downloader website that doesn't piss you off. it's fast, friendly, and doesn't have any bullshit that modern web is filled with: no ads, trackers, or invasive analytics.
paste the link, get the file, move on. it's that simple. just how it should be. You can host your own instance
• bilibili.com & bilibili.tv
• dailymotion videos
• instagram reels, posts & stories
• ok video
• pinterest videos & stories
• reddit videos & gifs
• rutube videos
• soundcloud
• streamable.com
• tiktok videos, photos & audio
• tumblr video & audio
• twitch clips
• twitter videos & voice
• vimeo
• vine archive
• vk video & clips
• youtube videos, shorts & music
cobalt is not affiliated with any services listed above.
this list is not final and keeps expanding over time, make sure to check it once in a while!
https://cobalt.tools
https://github.com/wukko/cobalt
https://status.cobalt.tools
https://github.com/wukko/cobalt/blob/current/docs/troubleshooting.md
Review:
This thing recodes sound to MP3 by default (more lossy distortion on top of whichever lossy codec like AAC the original video uses) which is a very bad idea. Also it processes files and gives its own server links even if the file is something like a YT video that can be downloaded off the original Google servers (with no transcoding whatsoever specified in settings).
And it's all lowercase
#web#video#downloader#yt
FluTube
Multiplatform Youtube video downloader made using flutter.
Features:
- Lightweight and fast
- No Login Required
- Keep your liked videos and comments
- Playlists support
- Download videos, audios and thumbnails
- Ad free forever
- Available for Windows/Linux/Android
- Free libre and open source (FLOSS)
Download - https://github.com/prateekmedia/flutube/releases
https://github.com/prateekmedia/flutube
#yt#YouTube#video#downloader
@foss_Android