Отдельно разберём 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
Город решил делиться
В Сеуле в 2012 году на уровне города принята стратегия на развитие sharing эrономики.
Для мировой практики это довольно интересный эксперимент, поскольку совместное использование организуется в максимально возможном количестве направления и в не самом маленьком городе мира.
В числе существующих практик:
- сервис по аренде инструмента и всяких штук для ремонта - у соседей.
- библиотеки игрушек - там можно взять детские игрушки, книжки, видео напрокат
- аренда спортивных площадок
- аренда студентами комнат в домах и квартирах, где проживают одинокие пожилые люди
#сеул#sharing
Что это такое своп и шеринг группы («swap» и “sharing” в переводе с англ. “обмен”) ?
⠀
🍀это обмен ненужными, но хорошими вещами. Свопы проходят в виде фримаркета: вы приносите ненужную вам вещь, а забирайте нужную или вовсе ничего не забираете. Главный принцип свопа — никаких денег #nomoney
🍀 можно делиться информацией о ненужных вещах и договариваться об обмене в шеринг-группах или чатах в соцсетях.
⠀
⠀
🍀🍀🍀
#foodsharing#sharing#sobirator#собиратор#собиратормосква#своп#swap#свопмосква#обмен#медшеринг#шеринг#отдамдаром#отдамдароммосква#reuse#реюз#зоошеринг#zoosharing
#Start#contents#index#mark
This channel publishes groups and channels according to a main directory and several subject sub-directories for index search
The search keywords are as follows:
One type of keywords:
Nine categories of first-level keywords
Two types of keywords:
Second-level keywords + geographic region + language family
1. Telegraph #telegram#Promotion
#Group#channel#robot
#Search#index#navigation
2. Resources #Resources#Share
#Sharing#Welfare#moive#music#Books
3. Broadcasting #Broadcasting
#message#info#news#blog
4. Chat category #Chat
#chitchat#communication#city#area
#Chinese#English#language#country
#Mainland#HongKong#Taiwan
5. Computer category #Computer
#Hardware#software#VPN#programming
6. Life category #life
#Entertainment#Game#Funny#Anime
#Live#tourism
7. Subjects #Subjects
#Interest#hobbies#topic
8.Industry #Industry#business
9.To be classified
#notes Unclassified