Отдельно разберём 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
Акция «ПенсиON с комфортом» продлена на 2 месяца!
Оформите заявление о перечислении пенсии или пособия на базовый счет, открытый в Белгазпромбанке, закажите бесплатную карточкуCashalot Комфорт по 31 августа 2023 года и получите на счет 50 BYN после первого зачисления пенсии (пособия)!
Cashalot Комфорт – это:
•бесплатный выпуск и обслуживание карточки;
•кэшбэк до 10% при покупках в магазинах-партнерах;
•кэшбэк 2% во всех аптеках, оптиках, магазинах товаров для сада и огорода;
•удобный интернет-банк и мобильное приложение для оплаты ЖКХ и открытия вкладов.
Подробнее – здесь.
#белгазпромбанк#бгпб#cashalot#bgpb#cashback
Сентябрь по традиции ассоциируется с наступлением нового культурного сезона. Знаковое место в белорусской арт-повестке занимают художественные проекты «Арт-Минск» и «Осенний салон», инициатором проведения которых выступил в свое время Белгазпромбанк.
Ежегодная выставка-продажа «Осенний салон с Белгазпромбанком»проходит в Минске с 2015 года.
Напоминаем, что все понравившиеся работы вы можете купить в рассрочку с «Картой покупок». В случае, если вы обладатель карточки «Cashalot», то приобретая произведение искусства на выставке, получите приятный кэшбэк.
Открытие выставки состоится 7 сентября в 18:00 во Дворце искусства на Козлова, 3, и по традиции будет бесплатным для посетителей. Экспозиция продолжит работу до 8 октября.
Время работы: пн-вс 11:00 – 21:00.
Стоимость билетов: 12 BYN – полный, 8 BYN – льготный.
Ждем вас! #belgazprombank#bgpb#art#cashalot#kartapokupok
Белгазпромбанк продлевает по 31 июля акции для своих клиентов!
Оформите новую карточку Visa Cashalot с кредитом на потребительские нужды и кэшбэком или карту рассрочки «Карта покупок» с овердрафтом от 200 до 5 000 рублей, которая выпускается и обслуживается бесплатно и получите в подарок стильную сумку-шоппер, в которую так удобно складывать любые покупки.
Подробнее об акциях «Стильный шопинг с «Картой покупок» и «Пора на шопинг с Cashalot!».
Ждем вас в офисе Белгазпромбанка!
#belgazprombank#bgpb#белгазпромбанк#бгпб#cashalot#картапокупок#акция