Три способа выполнить множество задач с 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
#SUSHI/USDT analysis :
#SUSHI is currently in a downtrend, trading below the 200 EMA, and the price is approaching the resistance zone. It is anticipated that the price will decline from this level and test previous lows. For a short entry, it is advisable to wait for a pullback.
TF : 1D
Entry : $0.775
Target : $0.592
SL : $0.902
#SUSHI/USDT analysis :
#SUSHI is currently consolidating above the support zone. It is expected to bounce off from there and continue to rise higher to test its previous highs.
TF : 4H
Entry : $0.565
Target : $0.599
SL : $0.545
#SUSHI
Sushi запустила перпы на базе Hyperliquid
Sushi запустила торговлю бессрочными контрактами с инфраструктурой Hyperliquid.
С сегодняшнего дня пользователи также начинают получать Sushi Points:
— очки начисляются за каждую сделку
— они будут учитываться в будущих наградах и стимулах
— ранние трейдеры получат повышающий коэффициент на весь сезон
Позже команда обещает добавить:
— лидерборды
— дашборды
— реферальные ссылки