Три способа выполнить множество задач с 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
Делим 50 млн$ от Mantra
👍 Давненько отрабатываем различные активности от этого L1-блокчейна (всё в тестнете, поэтому бесплатно), награда – 50 млн $OM (49,5 млн$), скипать такой жирнейший пул вовсе не советую!
🥺Что нужно сделать?
🔵 Создаем аккаунт в Leap Wallet(полезно будет перенести сидку из Keplr) + добавляем сеть MANTRA
🔵 Теперь топаем в их дискорд и запрашиваем тестовые $OM в ветке #hongbai-faucet
🔵 В самом кошельке жмём на Stake и отправляем 1 $OM любому валидатору
🔵 В конце на 👉сайте забираем 8,8 KARMA
Простая и быстрая активность, даже новичкам советую залететь, проект очень перспективный.
▪️Crypto Time
Уверенный WORK: лайтовый тестнетик с пулом 60М$+🏄♂️
ℹ️Mantra — L1-решение, которое запускает собственный L1-чейн.
Парочку месяцев подряд мы проходили первую фазу тестнета (задания на Galxe), сейчас же был сделан анонсвторой части: тут нам нужно будет активничать в тестовой сети Mantra Hongbai Testnet, пул наград –50 млн $OM (~60 млн$, токен на Binance торгуется).
🍟Активность абсолютно фри:
1️⃣ Устанавливаем Leap Wallet, в правом верхнем углу кликаем на лого Cosmos и добавляем тестовую сеть Mantra
2️⃣ Топаем на 👉сайтик и коннектим наш Leap
3️⃣ Теперь проходим проверку на бота в 🦀дискорде, в ветке #general оставляем заявку на кран
4️⃣ Перед нами должна появиться ветка #hongbai-faucet, там вводим команду /request + ваш OM-адрес и получаем 0,2 $OM
5️⃣ Делаем такой запрос 5 раз, чтобы на балансе был 1 $OM
6️⃣ Теперь идём в Leap и нажимаем на Stake (2 раза), выбираем любого валидатора и вписываем 1 $OM
7️⃣ В итоге нам дадут 5 поинтов KARMA здесь
▪️Crypto Time