Три способа выполнить множество задач с 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
🟢PEPE trading volumes surge 3X from start of May just days after ATH
⚡️Pepe’s price has slid 12% since reaching all-time highs, but trading volume has surged by 216%, indicating heightened interest from traders.
#Cryptolife
#Cryptoworld
#Cryptomarket
👀Educational content, charity and newcomer-friendly tools: An insightful look into the inner workings of a global crypto exchange.
🛡Learn how BingX diverse trading options can help you manage risks and capitalize on opportunities.
#DigitalCurrency
#Cryptonews
#CryptoCommunity
#Cryptolife
⚡️💰Ethereum ETFs — 3 pitches that could hook Wall Street
✔️Ethereum is already home to the world’s largest DeFi protocols, tokenized RWAs, and stablecoins, but its technical roadmap could be hard for TradFi to understand.
#Cryptonews
#CryptoCommunity
#Cryptolife
#Cryptoworld
❗️Crypto news in the past 24 hours:
🔄 Memecoin mania sees Cardano knocked out of the top 10 crypto rankings
📈 Crypto market to hit $200T within 10 years — Animoca co-founder
😮 Iggy Azalea’s MOTHER memecoin triumphs over scandal-ridden IGGY
🔝 Cristiano Ronaldo unveils NFT series with Binance capturing career highlights
#Cryptonews
#CryptoCommunity
#Cryptolife
#Cryptoworld
#Cryptomarket