Это репозиторий к курсу о бэкенд разработке на Python с упором на изучение FastAPI и работы с SQLAlchemy, Celery, Redis, Docker, а также многими другими библиотеками и технологиями.
Для запуска FastAPI используется веб-сервер uvicorn. Команда для запуска выглядит так:
uvicorn app.main:app --reload
Ее необходимо запускать в командной строке, обязательно находясь в корневой директории проекта.
Для запуска Celery используется команда
celery --app=app.tasks.celery:celery worker -l INFO -P solo
Обратите внимание, что -P solo
используется только на Windows, так как у Celery есть проблемы с работой на Windows.
Для запуска Flower используется команда
celery --app=app.tasks.celery:celery flower
Для запуска веб-сервера (FastAPI) внутри контейнера необходимо раскомментировать код внутри Dockerfile и иметь уже запущенный экземпляр PostgreSQL на компьютере. Код для запуска Dockerfile:
docker build .
Команда также запускается из корневой директории, в которой лежит файл Dockerfile.
Для запуска всех сервисов (БД, Redis, веб-сервер (FastAPI), Celery, Flower, Grafana, Prometheus) необходимо использовать файл docker-compose.yml и команды
docker compose build
docker compose up
Причем build
команду нужно запускать, только если вы меняли что-то внутри Dockerfile, то есть меняли логику составления образа.