Отдельно разберём 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
The Tuskegee Study was a government experiment from 1932 to 1972. It involved Black men with syphilis who were told they were getting free health care. But doctors did not give them medicine to cure the disease. They just watched the sickness get worse. The men did not know the truth and were not allowed to leave the study. This caused a lot of harm and suffering.
[Read more]
@googlefactss🏥⚠️#TuskegeeStudy#MedicalEthics#History#HealthRights
HeLa cells – taken from Henrietta Lacks in 1951 without her consent – became the first immortal human cell line.
They helped develop the polio vaccine, cancer treatments, and gene mapping, revolutionizing medicine. 7
Her story highlights major ethical questions in science and patient rights.
[Read more]
@googlefactss
#HeLa#MedicalEthics#ScienceHistory#HenriettaLacks
Active euthanasia is when a doctor directly ends a patient’s life, like using a lethal injection. Passive euthanasia is when doctors stop treatment or life support, letting the person die naturally.
Passive euthanasia is legal in many countries. Active euthanasia is only legal in a few, like the Netherlands, Belgium, Luxembourg, Canada, Spain, Portugal, Colombia, Ecuador, and New Zealand. Some U.S. states allow assisted dying, but not active euthanasia.
Many people find passive euthanasia more acceptable. Active euthanasia is more controversial. People worry about abuse or moral problems. Support often depends on whether a person is terminally ill or in unbearable suffering.
⚕️🛌💉🌍📜
[Check our poll]
[Read some more]
@googlefactss
#Euthanasia#PassiveVsActive#MedicalEthics#RightToDie#HealthEducation#TeenLearning#GlobalLaw