Size: a a a

2019 May 04

G

Gabben in Async Python
Естественно блокируется, у тебя внутри синхронная функция
источник

G

Gabben in Async Python
Засунув ее в async не избежишь блокировки
источник

NK

ID:803370278 in Async Python
Gabben
Засунув ее в async не избежишь блокировки
Это я понял😞, её можно сделать как-то неблокируемой?
источник

G

Gabben in Async Python
ID:803370278
Есть что-то похожее на run_in_executor, только для async функций?
.
источник

YL

Yoshi Lyosha in Async Python
ID:803370278
async def download_video(url, username):
   try:
       ydl = youtube_dl.YoutubeDL({'outtmpl': str(username)})
       print('Start downloading')
       with ydl:
           result = ydl.extract_info(
               url,
               download=True
           )
       
       await send_video(f"./{str(username)}")

   except Exception as e:
       print("Error ",e)
а какая проблема разделить это на две функции
источник

YL

Yoshi Lyosha in Async Python
зачем ты вообще в функцию download_video запихал вызов функции send_video ?
источник

YL

Yoshi Lyosha in Async Python
ты понимаешь принцип единой ответственности?
источник

YL

Yoshi Lyosha in Async Python
ты назвал функцию download_video - это нормальное ёмкое название
источник

YL

Yoshi Lyosha in Async Python
почему ты решил противоречить сам себе и запихал туда отправку?
источник

YL

Yoshi Lyosha in Async Python
а почему ты вообще выбрал для этой задачи асинхронный подход?
источник

YL

Yoshi Lyosha in Async Python
энивей, отдельно делай run_in_executor для синхронного кода, отдельно работай с корутинами
источник

NK

ID:803370278 in Async Python
Может кто-то поможет с моей давней проблемкой?
источник

NK

ID:803370278 in Async Python
источник

YL

Yoshi Lyosha in Async Python
эм, ну ты можешь просто глянуть как скачиваются видео с ютуба и как они заливаются в тг, разобраться с интерфейсами/протоколами и просто, условно, скачивать по 100кб с ютуба и заливать их в тг
источник

YL

Yoshi Lyosha in Async Python
ну типо задача звучит не оч сложно
источник

NK

ID:803370278 in Async Python
Yoshi Lyosha
эм, ну ты можешь просто глянуть как скачиваются видео с ютуба и как они заливаются в тг, разобраться с интерфейсами/протоколами и просто, условно, скачивать по 100кб с ютуба и заливать их в тг
Или как мне ее сформулировали другими словами, попакетно форвардить файл из одного потока в другой(но это для ноды)
источник

YL

Yoshi Lyosha in Async Python
да какая разница нода ли или питон, принцип везде одинаковый)
источник

G

Gabben in Async Python
ID:803370278
Или как мне ее сформулировали другими словами, попакетно форвардить файл из одного потока в другой(но это для ноды)
стримить называется
источник

YL

Yoshi Lyosha in Async Python
но вообще, сохранение на диск повысит надёжность)
источник

G

Gabben in Async Python
в случае очередного бота для скачивания видео с ютуб в ТГ не нужна эта надежность
источник