Реализация получения и отображения информации о курсе валютной пары доллар-рубль при помощи запросов к API ресурса https://currate.ru/. Отображение результатов запросов происходит собщениями через websocket.
Клонировать репозиторий:
git clone [email protected]:ArtemKAF/currency.git
Перейти в директорию, в которую были скачаны исходные файлы проекта при клонировании:
cd currency/
Cоздать виртуальное окружение и установить необходимые зависимости командой:
poetry install --no-root
Активировать созданное виртуальное окружение командой:
poetry shell
В корневой директории проекта создать файл .env и заполнить его переменными окружения по шаблону из .env.example
Примечание для значений DEBUG:
- True - сервер разработки будет обрабатывать подключение main.js.
- False - необходимо дополнительно настраивать сервер для обработки статики.
Перейти в директорию src и выполнить следующие команды:
python manage.py migrate
python manage.py runserver
После успешного запуска сервера разработки эндпоинт для получения информации о курсе валюты будет доступен про адресу http://localhost:8000/get-current-usd/
Примечание:
Для запуска процесса обновления информации по расписанию необходимо параллельно запустить celery worker и celery beat scheduller.
Для этого в дополнительных окнах терминала из директории src проекта с активированным виртуальным окружением необходимо выполнить команды:
- во втором окне терминала для celery worker-a
celery -A config.celery worker --loglevel info
- в третьем окне терминала для celery beat sheduller-а
celery -A config beat --loglevel info
В случае успеха, через каждые 30 секунд информация о курсе валюты будет обновлена.
В корневой директории проекта подготовлены файлы:
- docker-compose.yaml (для запуска проекта вцелом вместе с redis)
- docker-compose-redis.yaml (для запуска только redis)
Команда для запуска:
docker compose -f <соответствующий файл> up -d