Параметр reload
Параметр reload используется в командах запуска сервера
(например, uvicorn или fastapi dev) для включения
режима автоматического перезапуска. Когда этот параметр
установлен в True, сервер следит за изменениями файлов
проекта и при каждом сохранении кода перезапускает приложение.
Это удобно на этапе разработки, но не рекомендуется для
продакшена из-за накладных расходов.
Синтаксис
uvicorn main:app --reload
Пример
Давайте создадим простое приложение и запустим его с включённым автоперезапуском:
from fastapi import FastAPI
app = FastAPI()
@app.get('/')
def index():
return {'text': 'hello'}
Запускаем сервер с параметром reload:
uvicorn main:app --reload
Теперь, если изменить возвращаемый текст в функции
index и сохранить файл, сервер автоматически
перезапустится и применит изменения без ручной остановки.
Пример
Параметр reload также можно указать при запуске
через команду fastapi dev, где он включён по умолчанию.
Для явного управления используйте флаг:
fastapi dev main.py --reload
Результат работы сервера в терминале:
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [12345] using WatchFiles
INFO: Started server process [12346]
INFO: Waiting for application startup.
INFO: Application startup complete.