Отдельно разберём 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
📰 Wine 11.8 Brings Mono Engine Update and 22 Bug Fixes
Wine 11.8 updates Mono to version 11.1, improves MSXML and VBScript support, and fixes 22 bugs across games and Windows apps.
🔗 Source: https://linuxiac.com/wine-11-8-brings-mono-engine-update-and-22-bug-fixes/
#wine
Ancient factory exposes secrets of winemaking
A 1,500-year-old wine factory the size of a modern-day football field has been unearthed in Israel, showing how vintners met demand for high quality white wine popular throughout the ancient world.
#News#Reuters#Israel#Wine
Subscribe: http://smarturl.it/reuterssubscribe
Reuters brings you the latest business, finance and breaking news video from around the globe. Our reputation for accuracy and impartiality is unparalleled.
Get the latest news on: http://reuters.com/
Follow Reuters on Facebook: https://www.facebook.com/Reuters
Follow Reuters on Twitter: https://twitter.com/Reuters
Follow Reuters on Instagram: https://www.instagram.com/reuters/?hl=en
➖@reutersworldchannel➖
📰 Proton 11.0 Beta 2 Updates VKD3D-Proton
Following the release of Proton 11.0 Beta 1 from two weeks ago that updated against Wine 11.0, this heart to Valve's Steam Play is now out with a second beta release...
🔗 Source: https://www.phoronix.com/news/Proton-11.0-Beta-2
#proton#steam#wine
Early Roman women were forbidden to drink wine, and a husband who found his wife drinking was at liberty to kill her. The prohibition stemmed from a deeply patriarchal society that viewed women as weak and susceptible to vice, believing that wine could lead them to "inappropriate behavior" or "debauchery".
@googlefactss#alcohol#wine#history#nowyouknow