Size: a a a

2019 May 03

NK

ID:803370278 in Async Python
Yoshi Lyosha
скорость не разнится у первой и второй закачки?
Всё, хорошо, скорость между файлами не особо различается
источник

YL

Yoshi Lyosha in Async Python
значит, видимо, были какие-то цпу-баунд операции
источник

YL

Yoshi Lyosha in Async Python
вообще, на самом деле, всегда лучше создавать отдельные пулы, чем дёргать`run_in_executor(None, …` потому что так будет больше контроля и понимания. по-умолчанию там пул тредов, вроде с очень небольшим их количеством
источник

NK

ID:803370278 in Async Python
Когда передаю 3й аргумент (app) в
loop.run_in_executor(pool, download_video, message.text, message.chat.id, app)
вылазиет ошибка на скрине, как можно решить?
 app = Client(
       "News Bot",
       bot_token=API_TOKEN,
       api_id=id,
       api_hash=hash
           )

@dp.message_handler()
async def get_video(message: types.Message):
   await bot.send_message(message.chat.id, "Загрузка началась")
   try:
       workers = cpu_count()
   except NotImplementedError:
       workers = 1
   pool = ProcessPoolExecutor(max_workers=workers)
   loop = asyncio.get_event_loop()
   await loop.run_in_executor(pool, download_video, message.text, message.chat.id, app)
источник

s

std::mpa🌲 in Async Python
На каком скрине?
источник

NK

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

NK

ID:803370278 in Async Python
std::mpa🌲
На каком скрине?
Упс...
источник

s

std::mpa🌲 in Async Python
Зачеи тебе экзекютор?
источник

s

std::mpa🌲 in Async Python
И зачем юзербот, когда можно бота на самом пирограме делать?
источник

NK

ID:803370278 in Async Python
std::mpa🌲
И зачем юзербот, когда можно бота на самом пирограме делать?
Мне пирограм только для заливки файлов
источник

s

std::mpa🌲 in Async Python
Куда
источник

NK

ID:803370278 in Async Python
std::mpa🌲
Куда
Вернее для обхода ограничений, для отправки юзеру
источник

YL

Yoshi Lyosha in Async Python
ID:803370278
Когда передаю 3й аргумент (app) в
loop.run_in_executor(pool, download_video, message.text, message.chat.id, app)
вылазиет ошибка на скрине, как можно решить?
 app = Client(
       "News Bot",
       bot_token=API_TOKEN,
       api_id=id,
       api_hash=hash
           )

@dp.message_handler()
async def get_video(message: types.Message):
   await bot.send_message(message.chat.id, "Загрузка началась")
   try:
       workers = cpu_count()
   except NotImplementedError:
       workers = 1
   pool = ProcessPoolExecutor(max_workers=workers)
   loop = asyncio.get_event_loop()
   await loop.run_in_executor(pool, download_video, message.text, message.chat.id, app)
почему ты каждый раз создаёшь пул процессов?
сделай это один раз, там же где делаешь app
источник

YL

Yoshi Lyosha in Async Python
это оч дорогостоящая операция
источник

YL

Yoshi Lyosha in Async Python
ну и да, есть вещи которые пулу сложно делегировать
источник

YL

Yoshi Lyosha in Async Python
потому что для этого все данные сериализуются и передаются через канал подпроцессам
источник

YL

Yoshi Lyosha in Async Python
зачем ты в эту функцию начал app передавать?
источник

YL

Yoshi Lyosha in Async Python
что ты там вообще такое делаешь
источник

s

std::mpa🌲 in Async Python
Yoshi Lyosha
что ты там вообще такое делаешь
Очевидно, не хочет в ооп
источник

B

Bunk 🐈 in Async Python
о, чатик ожил
источник