Отдельно разберём 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
#Italia
Maurizio #Lupi, segretario di #NM|EPP e presidente Milan Club Parlamento: "Siamo di fronte ad una scelta: continuare a lamentarci per le mancate qualificazioni ed a rimpiangere gli anni d’oro in cui le nostre squadre davano spettacolo in Italia e nel mondo oppure lavorare con serietà e senza tentazioni populiste ad una riforma seria del sistema calcio"
@OsservatorioItaliano
#Italia
Maurizio #Lupi (#NcI|Centro): "Sul superbonus Draghi ha ragione non al 100%, ma al 110%. Non c’è più nessuno che tratti sui prezzi o chieda preventivi. Il bonus è una sorta di piè di lista rimborsato da tutti noi, compresi i più poveri, che stanno pagando la ristrutturazione di appartamenti e villette."
@UltimoraPolitics
#Italia#Camera
Maurizio #Lupi (#NcI|Centro): "Questa costruzione ci ha portato alla forzatura di rieleggere per la seconda volta il PdR."
@UltimoraPolitics
#Italia#Camera
Maurizio #Lupi (#NcI|Centro): "Il taglio dei parlamentari è stata la peggior riforma che noi avremmo potuto approvare."
@UltimoraPolitics
#ElezioniPolitiche2022
A Piazza del Popolo è iniziata la manifestazione di chiusura della campagna elettorale del centrodestra. Prima dell'avvio sono apparsi sul palco insieme Giorgia #Meloni, Matteo #Salvini, Silvio #Berlusconi e Maurizio #Lupi
@UltimoraPolitics
È terminato a Palazzo Chigi il vertice di maggioranza sulle #Regionali. Alla riunione erano presenti Giorgia #Meloni, Antonio #Tajani e Matteo #Salvini e Maurizio #Lupi.
Matteo #Salvini ha dichiarato che "è andata benissimo".
@UltimoraPolitics
#Elezioni2022
Maurizio #Lupi (#NM): "Vedo che la lista di Noi Moderati all'interno della coalizione di centrodestra dà fastidio a molti. L'alleanza ha 4 proposte, non 3. Senza di noi non si governa."
@UltimoraPolitics