РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
54 of 307 menu

Событие shutdown

Событие shutdown применяется к приложению FastAPI и позволяет выполнить функцию один раз при завершении работы приложения. Обработчик события не принимает параметров. Обычно используется для освобождения ресурсов: закрытия соединений с базой данных, остановки фоновых задач или очистки временных файлов.

Синтаксис

@app.on_event('shutdown') async def shutdown_event(): ...

Пример

Давайте зарегистрируем обработчик события shutdown, который выводит сообщение в консоль:

from fastapi import FastAPI app = FastAPI() @app.on_event('shutdown') async def shutdown_event(): print('Application is shutting down') @app.get('/') def index(): return {'text': 'hello'}

При остановке приложения в консоль будет выведено:

Application is shutting down

Пример

Давайте используем событие shutdown для закрытия соединения с базой данных:

from fastapi import FastAPI app = FastAPI() class Database: def __init__(self): self.connected = False def connect(self): self.connected = True def disconnect(self): self.connected = False db = Database() @app.on_event('shutdown') async def close_db(): db.disconnect() print('Database connection closed') @app.get('/') def index(): db.connect() return {'connected': db.connected}

Результат выполнения кода для адреса /:

{"connected": true}

После остановки приложения соединение будет закрыто, а в консоль выведется сообщение:

Database connection closed

Пример

Давайте зарегистрируем несколько обработчиков события shutdown. Они выполняются в порядке регистрации:

from fastapi import FastAPI app = FastAPI() @app.on_event('shutdown') async def shutdown_first(): print('First shutdown handler') @app.on_event('shutdown') async def shutdown_second(): print('Second shutdown handler')

При остановке приложения в консоль будет выведено:

First shutdown handler Second shutdown handler

Смотрите также

  • событие startup,
    которое выполняется при запуске приложения
  • событие lifespan,
    которое объединяет события startup и shutdown
  • метод on_event,
    который регистрирует обработчики событий
  • метод add_event_handler,
    который добавляет обработчик события программно
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить