Три способа выполнить множество задач с 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
🌟 Top Referral & Commission Event: Mystic Garden has ENDED! 🌟
🎯 Check the Leaderboard now to see if you made it to the top! 🏆
💎 Rewards will be distributed within 72 hours.
Thank you all for participating and making this event a success! 🙌
#MysticGarden#ReferralEvent#Leaderboard
🎤Announcement| Mystic Garden Game |Chat| Spotlight Channel
🚨Last Call!🚨
Today is the FINAL DAY of our Top Referral & Commission Event! ⏳
🌟 Don't miss your chance to climb the leaderboard and secure incredible rewards! 💰
🏆 Top 10 Referrers (Most Referees) - 95,000 AURA
🥇 1st: 30K AURA
🥈 2nd: 20K AURA
🥉 3rd: 10K AURA
🏅 4th-10th: 5K AURA each
📕Note: Only friends who check in their wallet at least once during the event will be counted as referrals for inviters.
📝For example: User A invited 100 friends but only 30 of them checked in their wallet, then User A's achievement on the leaderboard will be 30 referrals.
—————————————
💎 Top 5 Referrers (Highest $SING Commission) - 65,000 AURA + $40 $SING (for Top $SING Commission Only)
🥇 1st: 20K AURA + $15 $SING
🥈 2nd: 15K AURA + $10 $SING
🏅 3rd-5th: 10K AURA + $5 $SING each
🗓 Duration: Dec 26, 13:00 UTC - Jan 9, 13:00 UTC
Act now—time is ticking! 🕒
#AURA#ReferralEvent#Mysticgarden
🎉 Mystic Garden Top Referral & Commission Event 🎉
🌟 Reward Pool: Nearly $600 in Prizes!
🏆 Top 10 Referrers (Most Referees) - 95,000 AURA
🥇 1st: 30K AURA
🥈 2nd: 20K AURA
🥉 3rd: 10K AURA
🏅 4th-10th: 5K AURA each
📕Note: Only friends who check in their wallet at least once during the event will be counted as referrals for inviters.
📝For example: User A invited 100 friends but only 30 of them checked in their wallet, then User A's achievement on the leaderboard will be 30 referrals.
—————————————
💎 Top 5 Referrers (Highest $SING Commission) - 65,000 AURA + $40 $SING (for Top $SING Commission Only)
🥇 1st: 20K AURA + $15 $SING
🥈 2nd: 15K AURA + $10 $SING
🏅 3rd-5th: 10K AURA + $5 $SING each
🗓 Duration: Dec 26, 13:00 UTC - Jan 9, 13:00 UTC
Invite friends, earn rewards, and claim your spot on the leaderboard! 🌱✨
#MysticGarden#ReferralEvent#PlayToEarn#Web3Gaming
🎤Announcement| Mystic Garden Game |Chat | Spotlight Channel