Три способа выполнить множество задач с 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
«A fin de poder garantizar la seguridad
y mantener la estabilidad,
de forma inmediata,
la República
se convierte en el primer Imperio (Galáctico),
para preservar el orden
y la seguridad de la sociedad.»
Darth Sidious, #StarWars:
La venganza de los Sith
WookieeNews - «A fin de poder garantizar la seguridad y... | Facebook
https://www.facebook.com/WookieeNews/posts/a-fin-de-poder-garantizar-la-seguridad-y-mantener-la-estabilidad-de-forma-inmedi/5204325709676648/
🤩LEGO Adult 18+ #starwars
Всем кидалтам привет!
Потому что только у взрослого фаната теоретически найдется $999 на эту игрушку LEGO
⭐️Набор LEGO Star Wars «Звезда Смерти» – серия Ultimate Collector
(#75419) состоит из 9 023 деталей по стоит $999.99, что делает его самым дорогим набором LEGO на сегодняшний день.
В готовом виде боевая космическая станция представлена в поперечном сечении.
⭐️Можно собрать все культовые локации из оригинальной трилогии: мусорный отсек, сет из битвы Дарта Вейдера с Оби-Ваном, тронный зал Императора.
В набор входят 38 минифигурок — Люк, Лея, Хан, Дарт Вейдер, Император, дроиды, штурмовики и другие персонажи.
Бонусом при покупке дарят истребитель TIE с имперским ангаром.
С 1 октября набор смогут купить участники клуба LEGO Insiders, а с 4 октября - все.
Кстати, у коллекционного набора маркировка 18+.
An in-depth look at the #StarWars fan base:
- 37% are female
- 91% use a device to play games
- 44% use #SocialMedia to research products online
🚀@PerspectiveIX
Are you a Star Wars fan?
👍 Yes
👎 No
STAR WARS: KOTOR II
🆕Орден джедаевуничтожен, и единственная надежда Республики — вы, одинокий джедай, потерявший связь с Силой. Именно вам придется принять судьбоносное для галактики решение: идти по пути света или погрузиться во тьму.
⚙️Полная купленная версия (1390₽). Кэш встроен в установщик.
#STARWARS@pm_plus#Приключения
#Приключения@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ
STAR WARS: KOTOR II
🆕Орден джедаевуничтожен, и единственная надежда Республики — вы, одинокий джедай, потерявший связь с Силой. Именно вам придется принять судьбоносное для галактики решение: идти по пути света или погрузиться во тьму.
⚙️Полная купленная версия (1390₽). Кэш встроен в установщик.
#STARWARS@pm_plus#Приключения
#Приключения@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ