Три способа выполнить множество задач с 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
🎯 500 $NOAH #Giveaway is Ongoing!! Noah_DeFi
Dive into👇
https://galxe.com/TokenPocket/campaign/GCp1ptwk9h
✅NOAH is A New Generation of DeFi on EOS EVM.
Know more 👉https://www.noahark.io
🌊Make sure the current OAT holder address has already been imported to the #TokenPocket#EOSEVM Wallet. eosforumorg EOSNetworkFDN
👉https://help.tokenpocket.pro/en/wallet-operation/how-to-create-a-wallet/eos-evm
【Details】https://twitter.com/TokenPocket_TP/status/1749326094019572170
【Powered By】Crypto Box
💥$2,000 $YoZi EOS EVM Inscription Giveaway is Ongoing!! Eos420 EOSNetworkFDN
#EOS420, the groundbreaking metaverse protocol built on #EOSEVM! $YoZi, the first 3D inscription on EOS420, is coming soon!
🎁Complete the tasks on Galxe👇👇
https://galxe.com/TokenPocket/campaign/GChV3tt3d5
❤️80 TokenPocket_TP users can get a chance to share the rewards! #TokenPocket
【Details】https://twitter.com/TokenPocket_TP/status/1745339657720943086
【Powered By】Crypto Box
💥Big Congrats!
🏆Check if you are on the $YoZi #Giveaway Winner List!
👉https://docs.google.com/spreadsheets/d/1x9k08yTODqy-vJHTKrN3pa2RHjqkWsKHSY6Cw7svMcE/edit#gid=0
🎁The rewards have been distributed by @Eos420. #EOSEVM
💙Thanks for your participation! #TPFam
If you have any questions, you can join TokenPocket's Telegram to get more info. 👉https://t.me/tokenPocket_en
How to check your rewards?
✅Access EOS-420 DApp or https://eos420.com/ with your #TokenPocket and check "My EOS-420".
🎯Download TokenPocket
👉https://www.tokenpocket.pro/
👉https://extension.tokenpocket.pro/
How to create/import an EOSEVM wallet on TokenPocket?
Guide👉https://help.tokenpocket.pro/en/wallet-operation/how-to-create-a-wallet/eos-evm