Три способа выполнить множество задач с 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
Our NCDC 2023-2027 STRATEGY AND IMPLEMENTATION PLAN has been launched and is available for download
Access via
https://ncdc.gov.ng/themes/common/files/establishment/0ee30df42b787ee3bbced29b9930b27f.pdf
#NCDCStrategy#IamHealthSecurity#Vision2Action
We are very excited to present to you:
The Nigeria Centre for Disease Control and Prevention 2023-2027 STRATEGY AND IMPLEMENTATION PLAN
Download via
https://ncdc.gov.ng/themes/common/files/establishment/0ee30df42b787ee3bbced29b9930b27f.pdf
#NCDCStrategy#IamHealthSecurity#Vision2Action
Today, we're taking the next step by launching the NCDC Strategy 2023 to 2027, tagged ‘vision into action’"
Follow the discussion via
https://twitter.com/NCDCgov/status/1726894890158887036?t=Jd4yndV7SWHGomEakivxxA&s=19
#NCDCStrategy#IamHealthSecurity#Vision2Action
Our first strategy 'Idea to Reality' incorporated a new vision and mission that cascaded into 5 Strategic Goals, 22 Objectives and 89 Activities.
TOMORROW, November 21, marks another major milestone for #healthsecurity champions as we launch the:
📣Nigeria Centre for Disease Control and Prevention Strategy (2023-2027): #VisiontoAction📣
Don't miss out. Join us online via bit.ly/NCDCStrategyLaunch
#IAmHealthSecurity
The D-DAY has commenced.
Join us now as we kickstart our #HealthSecurity partners meeting and the #NCDCStrategy 2023-2027 launch event.
🔗bit.ly/NCDCStrategyLaunch
#IAmHealthSecurity#Vision2Action
Transforming our #Vision2Action, the #NCDCStrategy story continues 💪🏾
The #NCDCStrategy 2023-2027 is set to be launched❕
Join us for our health security partners meeting and strategy launch.
When❓
🗓️Tuesday, 21 November 2023
#SaveTheDate via
🔗bit.ly/NCDCStrategyLaunch
#IAmHealthSecurity