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

ПостКак измерять время async-функции через декоратор

10 октября 2026
Z
Zen of Python
Фотография
нажмите — покажем
Как измерять время async-функции через декоратор Обычная обёртка может вызвать async-функцию и получить объект корутины за микросекунды. Это ещё не время запроса: выполнение корутины начнётся позже, а исключение возникнет уже за пределами обёртки. В разборе async-декораторов обёртка сама объявлена через async def. Она сохраняет время старта, выполняет return await fn(*args, **kwargs), а запись длительности помещает в finally. Так измерение охватывает выполнение и очистку при ошибке или отмене. functools.wraps сохраняет метаданные и связь wrapped для интроспекции. Сам сборщик метрик тоже должен быть аккуратным: его ошибка в finally способна перекрыть исходное исключение, а блокирующий ввод-вывод задержит весь event loop. #python #asyncio
5 · 654 ·

Рядом в ленте

ZZen of PythonКак добавить MCP-сервер в Django-проект django-mcpz позволяет зарегистрировать Python-функцию как MCP-инструмент и подключить сервер в urls.py как обычное предсZZen of PythonЧего не проверяет runtime_checkable Protocol Protocol позволяет описать небольшой интерфейс: например, метод send(destination, message). Класс может удовлетворя
это сообщение
ZZen of PythonПочему max_workers не ограничивает очередь задач ThreadPoolExecutor(max_workers=8) разрешает одновременно выполнять восемь вызовов. Если сразу вызвать submit длZZen of PythonShowboat и Rodney помогают показать работу ИИ-агента Саймон Уиллисон собирает демонстрации кода с помощью двух своих инструментов. Showboat выполняет команды и

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

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