Отдельно разберём 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
#FactFriday
Feeling better doesn’t mean the infection is gone.
Stopping antibiotics without proper guidance can fuel Antimicrobial Resistance (AMR) making infections harder to treat.
✔️Always follow your healthcare provider’s advice.
✔️ Only use antibiotics when prescribed
✔️ Always complete your dose
✔️ Take antibiotics exactly as prescribed
✔️ Don’t stop, skip, or share medications.
✅Your actions today protect your health tomorrow.!
#FactFriday#StopAMR#PublicHealth#NCDCNigeria
💊 Misuse of Antibiotics makes them dangerous.
💯Protect your health and help fight Antimicrobial Resistance (AMR) by avoiding self-diagnosis. Always consult a qualified healthcare professional and get a prescription before taking antibiotics✅️
Together we can Fight Antimicrobial Resistance (AMR)and protect the effectiveness of antibiotics for ourselves and future generations.💪
Use antibiotics responsibly, save lives!!
#StopAMR#GlobalHealth#NCDCNigeria
#Antimicrobial Resistance (AMR) is a global threat.
✨As a healthcare professional, always carry out the correct test before prescribing.
Accurate diagnosis helps prevent resistance☑️
Always test before treating!!
#StopAMR#StaySafe#NCDCNigeria
#Antimicrobial Resistance (AMR) is a growing global health threat — but together, we can prevent it! 🚫💊
👉 Don’t self-medicate
👉 Complete your prescriptions
👉 Don’t share leftover drugs
👉 wash hands frequently with soap under running water
👉 Stay protected with vaccines
Let’s all take responsibility in the fight against AMR. 💪🌍
#StopAMR#StaySafe#NCDCNigeria
Antibiotics are lifesavers when used correctly but misuse can make infections harder to treat. 🦠💊
#AntimicrobialResistance (AMR) is a growing public health threat caused by self-medication, incomplete doses, and improper antibiotic use. Protect yourself and others by using antibiotics only as prescribed.
✅ Complete your medications
✅ Avoid self-medication
✅ Practice good hygiene
✅ Seek medical care when symptoms persist
Together, we can fight AMR and keep treatments effective for the future.
#StopAMR#HealthAwareness#NCDCNigeria#StaySafe