Команда fastapi run
Команда fastapi run запускает приложение FastAPI
из командной строки. Она входит в состав пакета
fastapi[standard] и является удобной
альтернативой команде uvicorn.
Первым параметром передаётся путь к файлу с приложением,
например main.py. По умолчанию команда ищет
в этом файле объект с именем app.
Режим перезагрузки при изменении кода включается
автоматически, если не указан параметр --no-reload.
Синтаксис
fastapi run [path] [options]
Здесь path - путь к Python-файлу с приложением,
а options - дополнительные параметры,
например --host, --port, --reload
и --workers.
Пример
Давайте создадим простое приложение в файле main.py:
from fastapi import FastAPI
app = FastAPI()
@app.get('/')
def index():
return {'text': 'hello'}
Теперь запустим его командой fastapi run:
fastapi run main.py
После запуска приложение будет доступно по адресу
http://127.0.0.1:8000. При обращении к корневому
маршруту вернётся JSON:
{"text": "hello"}
Пример
Давайте укажем порт и хост явно через параметры:
fastapi run main.py --host 0.0.0.0 --port 8080
Теперь приложение слушает все сетевые интерфейсы
на порту 8080 и доступно по адресу
http://0.0.0.0:8080.
Пример
Давайте запустим приложение в продакшн-режиме с несколькими рабочими процессами и без перезагрузки:
В этом режиме запускается четыре рабочих процесса, а автоматическая перезагрузка при изменении кода отключена - это подходит для боевого окружения.
Смотрите также
-
команда
fastapi dev,
которая запускает приложение в режиме разработки -
команда
uvicorn,
которая запускает ASGI-приложение напрямую -
параметр
port,
который задаёт порт для запуска приложения -
параметр
workers,
который задаёт число рабочих процессов