Skip to content

ak1m1tsu/book-library

Repository files navigation

async-rabbitmq-py

Как запустить?


Создаем файлы с переменными окружения для контейнеров в докере

$ touch .env .env.db .env.mq

Заполняем содержимым

# .env
DATABASE_URL=postgresql+psycopg2://postgres:postgres@db:5432/rabbitmq
RABBITMQ_DEFAULT_USER=user
RABBITMQ_DEFAULT_PASS=user
# .env.db
POSTGRES_DB=rabbitmq
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
# env.mq
RABBITMQ_DEFAULT_USER=user
RABBITMQ_DEFAULT_PASS=user

Запускаем + билдим докер файлы

$ docker compose up -d --build
# или
$ docker-compose up -d --build

Создаем бд и добавляем туда данные

$ docker compose exec rpc python database/migrations/__make_db__.py
$ docker compose exec rpc python database/migrations/__seed_data__.py
# или
$ docker-compose exec rpc python database/migrations/__make_db__.py
$ docker-compose exec rpc python database/migrations/__seed_data__.py

Подключаемся в качестве клиента


Данные для входа по умолчанию, если вы добавляли данные в бд при помощи скрипта

Имя пользователя: admin Пароль: admin

$ docker compose exec rpc python client.py
# или
$ docker-compose exec rpc python client.py

Что реализованно?


Список вещей которые должны быть реализованны:

  • Использовалась реляционная база данных и ORM SQLAlchemy с PostgreSQL.
  • Поддержка асинхронной обработки клиентских запросов с помощью очередей RabbitMQ.
  • Запуск более одного экземпляра сервера был невозможен.
  • Пользователь должен уметь аутентифицироваться.
  • Возможность поиска по авторам и названию.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages