Три способа выполнить множество задач с 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
🎄Les fêtes de noël continent au Donbass.
Le compte rendu en images reçu aujourd’hui de la part de l’union des officiers en retraite.
On ne se lassera jamais de remercier les donateurs Sos Donbass.
Les sourires de ces enfants en valent la peine de cette mobilisation des bénévoles 🕊️
#sosdonbass#Donbass#enfants#AideHumanitaire
🔥38 rapports de morts chez des #enfants, après le #vaccin#covid19 aux USA.
"16 ans, mort avec un élargissement cardiaque le 24 avril, son père disait qu'il avait eu la dose1 5 jours avant"
"Un #bébé, 5 mois, allaité a eu la peau irritée, refusai de manger et a de la fièvre. Mort à l'hôpital. Sa mère a eu la 2e dose de Pfizer 24h avant. Pas d'allergie, pas d'autres expositions que le vaccin de la mère."
"Elle était très fatiguée, douleurs musculaires. Trouvée morte le 10/09, une quantité de #sang excessive avec de gros #caillots au niveau du vagin. "
Vérifiez vous-même sur
https://wonder.cdc.gov/vaers.html
2) Cliquez sur "I Agree" en bas de page puis remontez et cliquez sur "VAERS Data Search"
3) En 1. Groupez résultats par Vaccine Manufacturer & Age & VAERS ID, cochez la case Adverse Event Description. En 3. sélectionnez vaccin Covid19, manufacturer pfizer & moderna En 5. Event Category: death.
Cliquez sur send. (Il y a 3 suicides, en ne les comptant pas il reste 35 morts chez des enfants).