Три способа выполнить множество задач с 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
#COMBRC20.COM
Сработал вчера ордер на покупку по 1.15$
Думаю тут уже убили всех кого можно было. Почему бы не устроить памп маркетмейкеру?
График к этому готов, как мне кажется.
Главное, чтобы биток был в боковике, потому что если он поедет в низ, то тут можем увидеть перелой.
Не финансовый совет.
#COM конечно не радует, но и продавать не хочется в минус.
Покупать тоже нет желания, но это именно тот момент, когда нужно покупать.
Задача маркетмейкера сбросить всех пассажиров, чтобы потом расти легко, вот сейчас как раз таки идет высаживание.
Думаю насчет усреднения...
#TON прям четко успел взять по 1.8$, повезло, что #COM был на MEXС в позиции, успел быстро продать и купить #TON.
Уже +17%, фиксировать пока не буду, #TON накапливаю и в 2024 году планирую его продавать минимум по 4$