Три способа выполнить множество задач с 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
Прошли официальные тесты, готовимся к торжественному старту Баха "Золото Кагана"
25 апреля состоится торжественный старт, где мы ждем всех, сделаем вместе крутые фото, пилоты оставят автограф на память и у каждого есть шанс получить на память сувенир😉
г. Астрахань, ул. Максима Горького, 27 в 15:00
#АвитоСпецтехника#GMGen#Арта
#Кедр#Precab#Теком#KamaTyres#INFORCE#НациональнаяЛотерея
Торжественный подиум @silkwayrally - красивое и зрелищное мероприятие.
Мы хотим поблагодарить жителей и гостей города Томск, за то, что разделили с нами этот замечательный вечер.
Делимся первыми снимками праздника.
Фотограф - Антон Еликов.
@kamazmaster_team
#Камаз#ВТБ#Газпром#1C#KamaTyres#энергогарант#GMGen#ArtaEDM#SilkWay#SilkWayRally#KamazMaster
Эдуард Николаев и Сергей Куприянов посетили церемонию открытия новой АГНКС сети «Газпром» в Томской области.
Команда «КАМАЗ-мастер» на практике знакома с преимуществами газомоторного топлива и вносит свой активный вклад в развитии и популяризацию новых решений для автомобилей любых классов.
В параде техники принял участие наш гоночный КАМАЗ. А также, Lada Vesta, Lada Largus, Газель Next, Автомобиль УАЗ, Автобус Yutong, Автобус НЕФАЗ, Автобус ПАЗ, Самосвал КАМАЗ.
Поздравляем жителей области с новой АГНКС сети «Газпром»!
#Камаз#ВТБ#Газпром#1C#KamaTyres#энергогарант#GMGen#ArtaEDM#SilkWay#SilkWayRally#KamazMaster