Три способа выполнить множество задач с 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
The CASE DEFINITION for #EbolaVirusDisease can be found on our website.
Download and read for definitions of:
✅Suspected cases,
✅Probable case and
✅Laboratory confirmed cases of #EbolaVirusDisease
🔗https://ncdc.gov.ng/themes/common/docs/protocols/288_1630509239.pdf
The risk of importation of the #EbolaVirusDisease into Nigeria is HIGH.
Healthcare workers & the general public are urged to maintain a high index of suspicion.
📜Read our public health advisory for measures to prevent the importation of #EVD:
https://ncdc.gov.ng/news/423/public-health-advisory-following-declaration-of-ebola-virus-disease-outbreak-in-uganda
Based on available data, the overall risk of importation of the #EbolaVirusDisease and the impact on the health of Nigerians has been assessed as HIGH.
📜Read our public health advisory for measures to prevent the importation of #EVD:
https://ncdc.gov.ng/news/423/public-health-advisory-following-declaration-of-ebola-virus-disease-outbreak-in-uganda
#NCDCUpdate
We have published an #EbolaVirusDisease care kit for incoming travellers from a country with ongoing transmission of #Ebola.
The care kit includes guides to monitor your temperature and symptoms.
Download & share via
https://ncdc.gov.ng/themes/common/docs/protocols/300_1669297182.pdf
#StaySafeStayHealthy
Common Viral Haemorrhagic Fevers #VHFs include #LassaFever, #EbolaVirusDisease, #YellowFever, #DengueFever, #MarburgFever and #CrimeanCongoHaemorrhagicFever.
What are the #InfectionPreventionandControl practices that need to be in place in the management of VHFs?
🔗Download our National Guideline on #IPC for #VHF
https://ncdc.gov.ng/themes/common/docs/protocols/111_1579986179.pdf