Три способа выполнить множество задач с 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
¿Qué pasó ahí? 😳
🔴#PeteHegseth quiso justificar la misión militar en #Irán usando la religión sin darse cuenta del origen de su discurso 🤦🏻♂️🎞️‼️
https://sinlineamx.com/pete-hegseth-confunde-cita-biblica-con-frase-pulp-fiction/
Pete Hegseth, Trump’s pick for U.S. Secretary of Defense, openly identifies as a Christian Zionist, backing Israel’s claim to Palestinian land and advocating for the eradication of #Hamas and the Palestinian people.
#PeteHegseth#Trump#Israel#Hamas#MiddleEast#Palestine
Sheila Holm was 🔥 She will be premiering THIS evening @ 7pm mst on my Youtube channel & then continued on Ninoscorner.tv
The Ghost comes back tomorrow morning for my YouTube show to discuss Red October and irregular warfare!
He will also continue on the my back channel after our YT morning show..
4 HUGE SHOWS COMING AT YA LIVE FOLKS!
@SheilaHolm#PeteHegseth#TrumpsGovernmentShutdown#trump#AntifaTerrorist
A new security scandal has hit the #Trump administration as media reports a major data breach exposing senior U.S. security officials’ information online.
According to an investigation by the German magazine #DerSpiegel, phone numbers, email addresses, and even passwords belonging to top U.S. security officials were found online.
Among those affected are National Security Advisor #MikeWaltz, Vice-President #JDVance, #CIA Director #JohnRatcliffe, White House chief of staff #SusieWiles, U.S. Intelligence Coordinator #TulsiGabbard, and Secretary of Defense #PeteHegseth.
The group debated policy and discussed operational details about the impending US military strike on #Yemen – conversations that provided a rare near-real-time look at the inner workings of Trump's senior #nationalsecurity team.