Три способа выполнить множество задач с 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
📊 ETFs | Weekly Flows Snapshot
SOL ETFs were the only ones with net inflows among the top 3 this week.
#ETF#Flows#Markets
#BTC#ETH#SOL#Crypto
———
結構解讀關鍵👇🥇資源搜索🖲️👆
📉 本週三大主流 ETF 資金流向出現明顯分化:
• BTC ETF:持續淨流出,賣壓集中於大型發行商
• ETH ETF:連續多日負流量,短線情緒偏保守
• SOL ETF:唯一錄得淨流入,資金逆勢布局
📈 結構解讀:
• 資金正在 避開高擁擠交易(BTC / ETH)
• SOL 成為短線輪動與主題交易承接標的
• ETF 流向顯示:市場並非全面風險退出,而是 選擇性進場
⚡️ 觀察重點:
若 SOL ETF 流入延續,可能代表
👉 資金正在測試「非 BTC / ETH 主流替代敘事」
👇⭐️👇
🤣留言分享觀點
🥲👇