Три способа выполнить множество задач с 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
⭐️#GBPUSD: Weak Market & Bearish Continuation
The charts are full of distraction, disturbance and are a graveyard of fear and greed which shall not cloud our judgement on the current state of affairs in the 📉GBPUSD pair price action which suggests a high likelihood of a coming move down.
📊
🔅GBPUSD Will Move Lower! Short!📉
- - - - - - - -
Take a look at our analysis for 📊GBPUSD.
The market is approaching a significant resistance area 1.352.
Due to the fact that we see a positive bearish reaction from the underlined area, I strongly believe that sellers will manage to push the price all the way down to 1.345 level.
- - - - - - - -
#freesignal#gbpusd
- - - - - - - -
🌐Free Copy Trading: Link
📲Join VIP via Bot:Link
❓Official Contact:@signalprovidercontact
🔅GBPUSD Is Going Up! Long!📈
- - - - - - -
Please, check our technical outlook for 📊GBPUSD.
The market is approaching a key horizontal level 1.349.
Considering the today's price action, probabilities will be high to see a movement to 1.351.
- - - - - - - -
#freesignal#gbpusd
- - - - - - - -
🌐Free Copy Trading: Link
📲Join VIP via Bot:Link
❓Official Contact:@signalprovidercontact
🔅GBPUSD Will Go Down! Short!📉
- - - - - - - -
Please, check our technical outlook for 📊GBPUSD.
The market is testing a major horizontal structure 1.321.
Taking into consideration the structure & trend analysis, I believe that the market will reach 1.315 level soon.
- - - - - - - -
#freesignal#gbpusd
- - - - - - - -
🌐Free Copy Trading: Link
📲Join VIP via Bot:Link
❓Official Contact:@signalprovidercontact