ips_etl/README.md

43 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# IPS ETL
## Описание
Этот проект представляет собой ETL процесс, который собирает данные из API и передаёт их на принимающую сторону.
## Установка и настройка
### Предварительные требования
- Docker
- Docker-compose
- Git
### Шаги для запуска в Docker
1. Клонируйте репозиторий на вашу машину при помощи команды `git clone https://git.jsdio.ru/jsdio/ips_etl.git`.
2. Переименуйте файл `.env.dist` в `.env`.
3. Откройте файл `.env` и замените значения переменных на свои:
- `API_HOST`: адрес хоста API.
- `API_TOKEN`: токен API.
- `IBLOCKS`: список номеров инфоблоков через запятую без пробелов.
- `DESTINATION_HOST`: адрес хоста назначения.
- `DESTINATION_PORT`: порт назначения.
- `DESTINATION_PROTOCOL`: протокол назначения (http или https).
- `SIGNED`: ключ подписи, должен совпадать на обеих сторонах.
- `LAST_ID`: последний успешно обработанный ID.
- `MAX_WAIT_SIZE`: максимальное время ожидания backoff.
- `USE_NOTIFY`: уведомлять ли о ходе работы обработчика в ТГ, `True` либо `False`
- `BOT_TOKEN`: токен Telegram-бота.
- `CHAT_ID`: ID чата, куда отсылать уведомление.
4. После настройки переменных, запустите проект при помощи docker-compose командой `docker-compose up -d`.
### Шаги для запуска локально
1. Выполнить п.1-3 из предыдущего списка
2. Выполнить команду `pip install -r requirements.txt`
3. Запускать main.py из директории src
## Повторная отправка пользователя
Запустить `manage.py` из директории src c опцией `resend` и атрибутами `iblock-id` и `element-id`.
Подробее `manage.py resend --help`
### Примеры:
### Повторная отправка пользователя локально
`python manage.py resend --iblock-id 14 --element-id 2981`
### Повторная отправка пользователя в Docker
`docker exec etl python manage.py resend --iblock-id 14 --element-id 2981`