Три способа выполнить множество задач с asyncio
Функция для примера:
async def do_it(n):
await asyncio.sleep(random.uniform(0.5, 1))
return n
1. Последовательный вызов
async def main():
for i in range(100):
result = await do_it(i)
Такой вызов имеет смысл только тогда, когда результат одной задачи требуется для вызова следующей.
Если они независимы, то это антипаттерн, так как аналогичен простому синхронному вызову по очереди.
2. Упорядоченный результат
async def main():
tasks = [do_it(i) for i in range(100)]
results = await asyncio.gather(*tasks)
Выполняет корутины конкурентно и возвращает результат в виде списка.
Полезен когда требуется получить результаты в том же порядке в котором задачи отправлены.
3. Результат по мере готовности
tasks = [asyncio.create_task(do_it(i)) for i in range(100)]
for cor in asyncio.as_completed(tasks):
result = await cor
Так же выполняет корутины конкурентно, но не гарантирует порядок. Результат возвращается по мере готовности, каждый отдельно.
Полезен когда нужно обработать любой ответ как можно скорее.
#async
Хотите узнать, кто стоит за проектом ТОПЛЕС?
Ян давно работает не один, наш проект — это небольшая, но сильная команда профессионалов, которая уже много лет создает ваши любимые выпуски. И мы хотим рассказать о команде поподробнее!
В нашем закрытом бусти-чате мы завели хэштег #intro, под которым все могут рассказать о себе все, что захотят. Мы узнали много нового о наших подписчиках и не забыли рассказать о себе.
Если хотели задать вопрос монтажеру или главному редактору лично, заходите к нам в бусти-чат! Ждем только вас.
#phd_insights#intro
Придумала на днях после очередной консультации, что возможно, многим из вас будет интересно узнать про мой PhD трек, про который я толком здесь ничего не написала, хотя с того момента, как желание писать тезис превратилось в осязаемую головную боль, прошел уже год.
Удовлетворять ваше любопытство буду под хештегом #phd_insights. Здесь будет все: от поиска позиции и PhD -рутины до инсайтов и гипотез исследования.
Задача для вас: если вам интересна эта тема - поставьте, пожалуйста, лайк под этим постом, и, если есть пожелания, о чем хотите узнать, пишите, в комментариях
#intro#animatsiya
✅Buyurtmachi: ELEGANT video studio
⚠️Vazifa: Videolar uchun kirish qismi (INTRO)
❇️Dizayner: No'monov Sherali
➡️Murojaat uchun: @richshax