Size: a a a

Telethon Talks RU

2021 April 15

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
но это не асинхронно
источник

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
и медленно
источник

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
ща покажу быстрый вариант
источник

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
tasks = [client.send_file(chat_id, file) for file in list_files]
for response in as_completed(tasks):
   await response
источник

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
вроде так
источник

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
первая строка создает генератором корутины, ну типо 10 файлов, он для них создает задачи, которые надо выполнить
источник

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
as_completed(tasks) это вроде из aiogram функция
источник

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
она выполняет корутины
источник

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
в цикле
источник

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
и для каждого ответ
источник

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
по факту
источник

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
можно даже вот так по идее
источник

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
если ответы не нужны, не проверяется, доставлены файлы или нет
источник

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
tasks = [client.send_file(chat_id, file) for file in list_files]
await asyncio.as_completed(tasks)
источник

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
asyncio добавил, чтобы потом не повторялись, откуда это
источник

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
это точно робит асинхронно, проверял в вк
источник

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
там запросы надо было много за рас пулять
источник

𝙰𝙺

𝙰𝚛𝚝𝚑𝚞𝚛 𝙺𝚘𝚋𝚊... in Telethon Talks RU
а если делать через for то медленнее выходило, синхронно получалоись
источник

⟁ᴡ

⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ... in Telethon Talks RU
Так передавай на здоровье
источник

⟁ᴡ

⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ... in Telethon Talks RU
Evaluated expression:
await client.send_file(
   event.chat_id,
   ["text.png", "out.png"],
   caption="test multiple files"
)
return


Result:
None
источник