Отдельно разберём 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
Con 147 voti favorevoli e 67 contrari la #Camera approva il ddl intercettazioni, che modifica la disciplina della durata delle intercettazioni. Il provvedimento, già approvato dal Senato, è legge.
@UltimoraPolitics
La #Camera ha approvato in via definitiva il disegno di legge delega che punta a superare i test di ingresso per l'accesso ai corsi di laurea magistrale in medicina e chirurgia, in odontoiatria e protesi dentaria e in medicina veterinaria. Il testo, già approvato al Senato, ha ottenuto 149 sì e 63 no.
@UltimoraPolitics
La #Camera ha approvato il DDL Spazio. I sì sono stati 133, i no 89 e gli astenuti 2. Il provvedimento passa ora all'esame del Senato. @UltimoraPolitics
La #Camera ha approvato il DDL Spazio.
I sì sono stati 133, i no 89 e gli astenuti 2. Il provvedimento passa ora all'esame del Senato.
@UltimoraPolitics
#Camera: Noi Moderati cambia nome, si chiamerà Noi Moderati—Centro Popolare. Al gruppo asseriscono anche le ex-calendiane Gelmini, Carfagna e Versace, che lasciano il misto
@UltimoraPolitics
La #Camera approva la mozione di maggioranza che impegna il governo a "sostenere nelle opportune sedi internazionali iniziative finalizzate al riconoscimento dello Stato di Palestina", nel quadro di una "soluzione negoziata fondata sulla coesistenza di due Stati sovrani e democratici"
@UltimoraPolitics
#Camera — Il Governo ha posto la questione di fiducia sul disegno di legge recante ulteriori disposizioni urgenti per l'attuazione del PNRR.
@UltimoraPolitics
Con 132 sì, 86 no e un astenuto, la #Camera approva la proposta di legge che punta a istituire la commissione d'inchiesta "sull'operato del governo e sulle misure da esso adottate per prevenire e affrontare l'emergenza Covid-19". Il testo, già passato all'esame del Senato, diventa dunque definitivo
@UltimoraPolitics
Mes, la commissione Bilancio della Camera è convocata questa mattina alle 9.30 per esprimere il parere sulla ratifica. La discussione è attesa alla #Camera nella seduta di oggi. Il provvedimento si trova al terzo punto dell'odg dell'Aula
@UltimoraPolitics