FastAPI 0.162.7 исправил очистку ресурсов при отмене запроса
Новости

FastAPI 0.162.7 исправил очистку ресурсов при отмене запроса

3 просмотраОценить новость0 отзывов

13 ноября опубликован FastAPI 0.162.7 с исправлением завершающего кода асинхронных зависимостей с yield при отмене. Это важно для API, где зависимость открывает ресурс, передаёт его обработчику, а затем освобождает. На Mentoring.digital разбираем, какой сценарий добавить к проверке обновления.

Содержание новости

Почему важен код после yield

Зависимость с yield может выдать обработчику сессию базы данных, а после использования закрыть её в завершающем блоке. Если освобождение ресурса асинхронное, оно само содержит ожидание. Отмена во время такого ожидания способна прервать очистку.

В версии 0.162.7 разработчики исправили именно завершение асинхронных генераторных зависимостей. В коде используется защита выхода из контекстного менеджера через CancelScope AnyIO. После выхода выполняется проверка ожидающей отмены. Это позволяет закончить очистку, сохранив смысл отмены самой операции.

Что учесть при выборе версии Python

В тот же день предыдущая версия 0.162.6 прекратила поддержку Python 3.10. В метаданных 0.162.7 указан Python 3.11 или новее. Поэтому для проекта на 3.10 переход на свежий патч затрагивает и версию интерпретатора.

Сначала проверьте фактический Python в локальном окружении, контейнере и CI. Если проект ещё использует 3.10, выделите смену интерпретатора в отдельный проверяемый шаг. Один номер FastAPI в файле зависимостей не показывает, на каком Python запустится сервис.

Как проверить завершение зависимости

Для своего тестового приложения предусмотрите обычный запрос и отмену во время работы обработчика. Если зависимость освобождает ресурс с ожиданием, отдельно проверьте отмену после начала этой очистки. Наблюдать нужно завершение освобождения ресурса, а также факт отмены запроса.

Такие сценарии помогают отличить ошибку в жизненном цикле зависимости от сбоя конкретного драйвера или собственного кода. Исправление фреймворка не заменяет проверку используемой базы и других внешних ресурсов. Асинхронные зависимости можно отработать на практике по Python, а свой сценарий отмены разобрать с наставником по серверной разработке на Python.

Мнение читателей

Оценки и отзывы о новости

Оставить отзыв

Как вам новость?

Поставьте оценку. При желании добавьте отзыв или вопрос по новости.

Ваша оценка
5 из 5
0 / 3 000

После одобрения имя, оценка и отзыв будут видны другим читателям. Политика конфиденциальности

Отзывы читателей0

Здесь пока нет отзывов. Расскажите, чем вам полезна новость.

Все новости