Отдельно разберём 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
📌 Une escadre de la flotte du #Pacifique, composée du sous-marin diesel-électrique Petropavlovsk-Kamtchatsky, de la corvette Gromky et du remorqueur Andreï Stepanov, a achevé son programme de visite officielle au port de #Qingdao, en République populaire de #Chine.
La flottille a mis le cap sur la mer Jaune, conformément au plan de sa mission.
RT en français • Osez questionner !
📌 Une escadre de la flotte du #Pacifique, composée du sous-marin diesel-électrique Petropavlovsk-Kamtchatsky, de la corvette Gromky et du remorqueur Andreï Stepanov, a achevé son programme de visite officielle au port de #Qingdao, en République populaire de #Chine.
La flottille a mis le cap sur la mer Jaune, conformément au plan de sa mission.
RT en français • Osez questionner !
🚢🤖Qingdao провёл первую в мире полностью беспилотную контейнерную операцию
В порту Циндао реализована первая end-to-end схема «судно-причал-терминал» без участия экипажа.
Электрофидер Zhi Fei (300 TEU) выполнил заход в порт полностью автономно — от подхода к причалу до обработки контейнеров.
Что прошло «без рук»:
🔹 автономная навигация и постановка к причалу
🔹 автокрепление через систему vacuum mooring — вакуумные «присоски» вместо швартовых концов (≈30 секунд, без команды на палубе)
🔹 автоматизированная обработка на терминале: причальные краны + AGV под управлением A-TOS / A-ECS
Оператор Brinav сообщает, что судно выполняет коммерческие рейсы с 2022 года и уже прошло около 1 300 рейсов. Предусмотрены три режима работы: ручной, дистанционный и автономный — при постоянном контроле берегового центра с возможностью перехвата управления.
📌 Если технология масштабируется, это меняет экономику коротких морских линий: меньше простоев, быстрее швартовка, ниже операционные издержки.
#ТИСЛОДЖИСТИК#контейнеры#автономноесудоходство#Qingdao