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