Отдельно разберём 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
❗🇷🇺 Russian Defence Ministry 24-Hour hotline: +78001007707
Our 24-hour hotline provides steady communication with all structures, including embassies of foreign states and all foreign subscribers, including international organizations (UN and OSCE). All calls from anywhere in the world, including from Ukraine, will be accepted, processed and implemented in accordance with the request.
#MoD#Russia#hotline
@mod_russia_en
📰US and Russia agree to resume regular military contact
The United States and Russia have agreed to reestablish high‑level military‑to‑military dialogue for the first time in over four years, both powers announced late Thursday.
The deal was struck in Abu Dhabi, on the sidelines of trilateral talks between the U.S., Russia and Ukraine on ending the war, and was announced by U.S. European Command. The channel will
“provide a consistent military‑to‑military contact as the parties continue to work towards a lasting peace.”
High‑level military communication was suspended in the fall of 2021, shortly before Russia’s full‑scale invasion of Ukraine. Since then, there have been repeated close calls: Russian drones and warplanes edging into NATO airspace, U.S. unmanned systems operating over the Black Sea and Syria, and an almost constant risk of misunderstanding turning into escalation.
Now, the two sides say they want to avoid miscalculation and unintended escalation. The U.S. stresses that such dialogue is
“an important factor in global stability and peace, which can only be achieved through strength,”
and that it will increase transparency and help de‑escalate.
Diplomacy, or nuclear‑treaty bargaining?
The announcement came hours after the New START treaty expired, leaving the U.S. and Russia without a formal cap on their nuclear arsenals for the first time in half a century. Russia has said it still wants to talk, and the Kremlin has offered to keep observing the treaty’s limits — but only if the U.S. responds positively.
Axios reports that negotiators were closing in on a deal in Abu Dhabi to keep key provisions in place while both sides work toward a new framework, which Trump has described as a “new, improved, and modernized” treaty.
The Trump factor
President Donald Trump, who has repeatedly called for closer ties with Moscow, framed the move as a win for his approach: normalizing relations with Russia while pressing for a Ukrainian peace deal and a new arms‑control framework.
But in practice, the renewed hotline is less about friendship and more about necessity: when two nuclear powers hover over the same war zone, the only safe channel is one that stays open — even if both sides keep their fingers on the trigger.
#USRussia#Military#NewSTART#Nuclear#Ukraine#Trump2026#Diplomacy#NATO#Hotline
📱American Оbserver - Stay up to date on all important events
🇺🇸