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

Событие startup

Событие startup применяется к приложению FastAPI и позволяет выполнить функцию один раз при старте сервера. Это удобно для подключения к базе данных, загрузки конфигурации или инициализации кэша. Обработчик регистрируется через декоратор on_event с параметром 'startup'. Функция может быть как синхронной, так и асинхронной.

Синтаксис

@app.on_event('startup') def startup_handler(): ...

Пример

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

from fastapi import FastAPI app = FastAPI() @app.on_event('startup') def on_startup(): print('app started') @app.get('/') def index(): return {'text': 'hello'}

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

"app started"

Пример

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

import asyncio from fastapi import FastAPI app = FastAPI() @app.on_event('startup') async def connect_db(): await asyncio.sleep(0.1) app.state.db = {'connected': True} @app.get('/status') def status(): return app.state.db

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

{"connected": true}

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

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