Отдельно разберём 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
Five Nights at Freddy's — все части
🆕Приготовьтесьпережить настоящий ужас, ведь перед вами все части знаменитой игры. Защищайтесь от леденящих душу аниматроников и помните, что утро наступит еще не скоро...
⚙️Полные купленные версии, разблокированы все платные части. Кэш встроен в установщик. #Хорроры#FNaF
#FNaF@pm_plus
#Хорроры@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ
Five Nights at Freddy's — все части
🆕Приготовьтесьпережить настоящий ужас, ведь перед вами все части знаменитой игры. Защищайтесь от леденящих душу аниматроников и помните, что утро наступит еще не скоро...
⚙️Полные купленные версии, разблокированы все платные части. Кэш встроен в установщик. #Хорроры#FNaF
#FNaF@pm_plus
#Хорроры@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ
Five Nights at Freddy’s: Security Breach
(FNaF)
🆕Обновление
Игрокам предстоит отправиться в огромный развлекательный центр «Мега Пиццаплекс Фредди Фазбера», построенный корпорацией Fazbear Entertainment - где, разумеется, снова используются роботы-аниматроники.
⚙️Полная версия - лучший фанатский порт, кэш встроен в установщик.
#Хорроры@pm_plus
#FNaF@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ
Creepy Nights at Freddy's
(CNaF)
🆕Играя за ночного охранника в пиццерии вы столкнетесь с ужасом, о котором до этого даже не догадывались. С фонариком в руках теперь вы сможете свободно перемещаться по зданию и заглянуть в его самые темные уголки.
⚙️Полная версия, кэш встроен в установщик. Современная адаптация на мобильную платформу.
#Хорроры@pm_plus
#CNaF@pm_plus
#FNaF@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ