Русский
Открыть в Telegram

ПостПочему тайм-аут не всегда заканчивается ровно по часам

12 октября 2026
Z
Zen of Python
Фотография
нажмите — покажем
Почему тайм-аут не всегда заканчивается ровно по часам asyncio.TaskGroup владеет созданными в нём задачами и ждёт их завершения. Если одна падает с обычным исключением, группа запрашивает отмену остальных, дожидается очистки и собирает ошибки в ExceptionGroup. В разборе отмены и тайм-аутов важна граница: cancel() отправляет запрос, а задача должна получить CancelledError и выполнить finally. Если она подавляет отмену или долго очищает ресурсы, завершение затянется. wait_for() ждёт окончания отмены, поэтому фактическое время может превысить заданный timeout. Контекст asyncio.timeout() отменяет текущую задачу и преобразует свою отмену в TimeoutError снаружи блока. Для связанных операций помещайте TaskGroup внутрь timeout, чтобы дочерняя работа имела явного владельца. #python #asyncio
5 · 1K ·

Рядом в ленте

ZZen of PythonПочему короткие паузы сборщика мусора обходятся памятью В CPython подсчёт ссылок освобождает многие объекты сразу, а циклический GC ищет недостижимые циклы. СокZZen of PythonПочему копия контекста не делает словарь отдельным contextvars помогает хранить request ID для задач, которые выполняются на одном потоке event loop. При обычно
это сообщение
ZZen of PythonЧто мешает запускать Python из снимка памяти Импорты и инициализация повторяются при каждом старте интерпретатора. Снимок уже подготовленного процесса мог бы прZZen of PythonКак PEP 827 предлагает выводить тип выбранных полей ORM-запрос выбирает name и email, но статический анализатор часто видит заранее заданную модель. Для отдельн

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем