Отдельно разберём TaskGroup, который пришел на замену gather в Python 3.11.
Ключевые отличия
▫️create_task() возвращает объект asyncio.Task, у которого есть соответствюущие методы управления. То есть у нас больше контроля
▫️это контекстный менеджер, который гарантирует что все таски будут остановлены по выходу из контекста
▫️ошибка автоматически отменяет незавершенные задачи,
▫️except* передает нам ExceptionGroup, в котором каждую ошибку можно обработать отдельно
import asyncio
import random
async def do_it() -> str:
if random.random() < 0.1:
raise ValueError('Oops')
delay = random.uniform(0.5, 1.5)
await asyncio.sleep(delay)
return delay
async def main():
try:
async with asyncio.TaskGroup() as tg:
for _ in range(10):
tasks.append(tg.create_task(do_it()))
for t in tasks:
print(t.result())
except *ValueError as e:
for err in e.exceptions:
print(err)
asyncio.run(main())
Рекомендую изучить страницу Coroutines and Tasks из документации, где представлено больше интересных примеров и механизмов
- таймауты
- отмена задач
- создание задач из другого потока
#async
Lassa fever (LF) initially presents like other common illnesses accompanied by a fever, such as malaria.
Healthcare workers are urged to remain vigilant.
Consider a #LF diagnosis when seeing patients showing symptoms of fever.
🔗Health Advisory
https://www.ncdc.gov.ng/news/507/lassa-fever-public-health-advisory
📜
Annual outbreaks of #LassaFever involve the infection and death of a loved family member, a spouse, a parent, and often seasoned healthcare workers and team members.
Our #LF health advisory provides measures through which health workers and the public can protect themselves.
🔗Read via https://www.ncdc.gov.ng/news/507/lassa-fever-public-health-advisory
📣JOIN IN
Our #LassaFever Research Colloquium is LIVE!
The colloquium aims to review the current situation and identify research priorities that will bring about a better understanding of #LF transmission using a One Health approach
🗓️TODAY, May 2nd, 2023
🕗 9:00 a.m. WAT
Register to join:
https://us06web.zoom.us/webinar/register/WN_N0qf8u_IR0W_8k1UaiCnaA
Healthcare workers should raise suspicion for patients with a history of contact with
➡️a probable/confirmed case of #LassaFever within 21 days of onset of fever
➡️body fluids/tissues of a patient with a febrile illness, symptoms & signs suggestive of #LF
🔗Read and share
https://www.ncdc.gov.ng/themes/common/docs/protocols/92_1547068532.pdf
Healthcare workers are advised to always be vigilant - lookout for symptoms of #LassaFever, not all fevers are malaria.
Any febrile illness that has not responded to the use of anti-malaria or antibiotics after 48 hrs should raise an index of suspicion for #LF.
#LassaFeverInfo