Отдельно разберём 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
📰US stock prices soar in early Asian trading after truce news
🔗https://top-news.shepherdgazette.com/us-stock-prices-soar-early-asian-trading-truce/?utm_source=telegram&utm_medium=social&utm_campaign=zimm-distribute
via Daily Political Press
#Asian#TopNews#News
News: #Ethiopia, #Asian Infrastructure Investment Bank discusse support for Bishoftu airport project
Ethiopia’s Minister of Finance, Ahmed Shide, has held discussions with the President of the Asian Infrastructure Investment Bank (#AIIB) on potential financing support for the planned #Bishoftu International Airport project.
According to a statement from the Ministry of Finance, the meeting focused on strengthening cooperation between Ethiopia and the multilateral lender, with particular emphasis on priority infrastructure and development initiatives.
The two sides also explored avenues to expand collaboration in mobilizing private sector financing.
A week ago Addis Standard reported that Ahmed Shide, Ethiopia’s Minister of Finance, held high-level discussions with a delegation from the #China Export-Import (Exim) Bank and the Chinese Ambassador to Ethiopia, Chen Hai, the talks centered on exploring financing options for the construction of the Bishoftu....
Read more: https://addisstandard.com/?p=56203