Три способа выполнить множество задач с 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
#Monkeypox is preventable.
❌Avoid contact with sick/dead animals
✅Cook all animal meats & products properly before eating
✅Wash hands after handling animals & caring for/visiting sick people
❌Avoid close/skin-to-skin contact with infected persons or persons showing symptoms
А оспу обезьян уже стоит начать бояться? 🙈
Если кто-то не в курсе, ВОЗ уже объявили эту болезнь как global emergency.
До недавнего времени эпидемия была только на территории стран Африки. На днях она начала распространяться на территорию Европы и в Швеции с Великобританией появились первые случаи заболевания.
Не совсем мотивирующая и приятная новость для начала новой недели, но об это стоит знать.
#monkeypox
Avoid self-medication.
Visit a healthcare facility close to you for accurate diagnosis and treatment when you observe any symptoms associated with #monkeypox.
Public Health Advisory: https://ncdc.gov.ng/news/367/public-health-advisory-on-monkeypox
#TakeResponsibility
Since the re-emergence of #Monkeypox in 2017, Nigeria has recorded confirmed cases of the disease across the 36 States and FCT every year.
What is #Mpox❓
Many noted strategic similarities between HIV/ #AIDS and #COVID, but now with #Monkeypox, the resemblance is uncanny.
Announced AIDS/Monkeypox of African origin.
Stated predominantly affecting queers.
Tests/treatment encouraged, guaranteeing said conditions.
Predictably spread to wider public.