# Парсер курсов

## Каталог парсеров

В админ панели на странице "Парсеры" находится список всех доступных парсеров.&#x20;

<figure><img src="https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FZWHLSkxoWgaxMBQiY4OC%2Fimage.png?alt=media&#x26;token=c3e236bd-d799-40ba-9c17-f13bbf2c5d97" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**Для того чтобы снизить нагрузку на систему, необходимо** [**отключить**](#otklyuchenie) **парсеры, которые вы не используете.**&#x20;
{% endhint %}

### Блок парсера

* По умолчанию парсер отключен, а под логотипом парсера отображается состояние парсера. В данном случае это <mark style="color:red;">**`Disabled`**</mark>.\
  В случае, если парсер активен - будет отображаться состояние <mark style="color:green;">**`Active`**</mark>.
* Ниже логотипа расположено название парсера. Данное название возможно использовать в поле "[**Поиск**](#user-content-fn-1)[^1]" для того чтобы найти необходимый источник курсов.&#x20;
* В поле "**Активных курсов**" отображается общее количество курсов, которые доступны для использования.&#x20;
* В поле "**Обновление**" указано время последнего обновление парсера.&#x20;

{% hint style="warning" %}
В случае, если парсер предполагает частое обновление курсов, к примеру, 1 раз в 30 секунд, но при этом в поле "**Обновление**" курсы не обновлялись минуту и более, необходимо [перезапустить](#perezapusk) парсер. \
Если перезапуск парсера не помог, необходимо обратиться к поддержке BoxExchanger. &#x20;
{% endhint %}

* Запуск и конфигурация парсера происходит на странице настроек. Для перехода к странице настроек, необходимо нажать на "**Больше курсов**" в блоке с необходимым источником курсов.&#x20;

## Конфигурация парсера

{% hint style="info" %}
На старнице "Парсера" нажмите на "[**Больше курсов**](#user-content-fn-2)[^2]" в блоке с необходимым парсером для перехода на страницу настроек необходимого источника курсов.&#x20;
{% endhint %}

На странице настроек парсера присутствуют разделы "**Данные парсера**" и "**Активные обмены парсера**".&#x20;

<figure><img src="https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FrBL8SGDpHdiDppwfhr8M%2Fimage.png?alt=media&#x26;token=f4819454-4d74-4cd7-9418-e36eeae32e5d" alt=""><figcaption></figcaption></figure>

### Данные парсера

В поле "**Обновление**" отображается время последнего обновления курсов парсера.&#x20;

#### Включение, отключение и перезапуск

<details>

<summary>Включение</summary>

В случае, если парсер не запущен - под логотипом отображается состояние <mark style="color:red;">**`Неактивный`**</mark>. Для того чтобы включить парсер необходимо:

1. Перевести ползунок напротив "**Включить**" в активное положение.&#x20;
2. Нажать "[**OK**](#user-content-fn-3)[^3]" для подтверждения перезапуска процессов -parser-rate и -api.&#x20;
3. [**Ожидать**](#user-content-fn-4)[^4] две минуты без перезагрузки и закрытия страницы настроек.&#x20;
4. После успешного запуска парсера вы увидеть уведомление "[**Success**](#user-content-fn-5)[^5]".
5. Перезагрузите страницу. После перезагрузки, состояние парсера должно быть <mark style="color:green;">**`Активный`**</mark>, а в разделе "[**Активные обмены парсера**](#user-content-fn-6)[^6]" появятся курсы.&#x20;

</details>

<details>

<summary>Отключение</summary>

В случае, если парсер запущен - под логотипом отображается состояние <mark style="color:green;">**`Активный`**</mark>. Для того чтобы отключить парсер необходимо:

1. Перевести ползунок напротив "**Включить**" в неактивное положение.&#x20;
2. Нажать "[**OK**](#user-content-fn-7)[^7]" для подтверждения перезапуска процессов -parser-rate и -api.&#x20;
3. [**Ожидать**](#user-content-fn-4)[^4] две минуты без перезагрузки и закрытия страницы настроек.&#x20;
4. После успешного запуска парсера вы увидеть уведомление "[**Success**](#user-content-fn-5)[^5]".
5. Перезагрузите страницу. После перезагрузки, состояние парсера должно быть <mark style="color:red;">**`Неактивный`**</mark>.&#x20;

</details>

<details>

<summary>Перезапуск</summary>

Для того чтобы перезапустить парсер необходимо:

1. Перевести ползунок напротив "**Включить**" в неактивное положение.&#x20;
2. Нажать "[**OK**](#user-content-fn-8)[^8]" для подтверждения перезапуска процессов -parser-rate и -api.&#x20;
3. [**Ожидать**](#user-content-fn-4)[^4] две минуты без перезагрузки и закрытия страницы настроек.&#x20;
4. После успешного запуска парсера вы увидеть уведомление "[**Success**](#user-content-fn-5)[^5]".
5. Перезагрузите страницу. После перезагрузки, состояние парсера должно быть <mark style="color:red;">**`Неактивный`**</mark>.&#x20;
6. Перевести ползунок напротив "**Включить**" в активное положение.&#x20;
7. Нажать "[**OK**](#user-content-fn-3)[^3]" для подтверждения перезапуска процессов -parser-rate и -api.&#x20;
8. [**Ожидать**](#user-content-fn-4)[^4] две минуты без перезагрузки и закрытия страницы настроек.&#x20;
9. После успешного запуска парсера вы увидеть уведомление "[**Success**](#user-content-fn-5)[^5]".
10. Перезагрузите страницу. После перезагрузки, состояние парсера должно быть <mark style="color:green;">**`Активный`**</mark>, а в разделе "[**Активные обмены парсера**](#user-content-fn-6)[^6]" появятся курсы.&#x20;

</details>

#### Прокси

На данный момент функционал находится в разработке...

#### Конфигурация

В случае, если парсер требует дополнительных параметров для работы, то в разделе "**Конфигурация**" будут находиться поля для настройки. Инструкцию по их настройке вы можете найти в документации на странице необходимого парсера либо уточнить в поддержке BoxExchanger.&#x20;

#### Интервал

В поле "Интервал" вы можете указать как часто (в миллисекундах) обновлять курсы. Большинство парсеров бирж обновляют курсы по socket. В таком случае изменение интервала не будет влиять на работу парсера. \
Особенности работы каждого парсера вы можете найти в документации на странице необходимого парсера либо уточнить в поддержке BoxExchanger.&#x20;

### Активные обмены парсера

#### Таблица курсов

<table><thead><tr><th width="211">Направление</th><th width="168">Покупка</th><th width="164">Updated</th><th>Используется?</th></tr></thead><tbody><tr><td>Указывается пара по которой получен курс. К примеру, BTC/USDT.</td><td>Для BTC/USDT, сумма USDT необходимая для покупку единицы BTC. </td><td>Время обновления курса по данной паре. </td><td>Используется ли данная пара в направлении/валюте. Данный ползунок не включает и не отключает пару. </td></tr></tbody></table>

{% hint style="info" %}
Курсы по парам, для которых ползунок в столбце "Используется" находится в активном состоянии, обновляются в приоритете.&#x20;
{% endhint %}

#### Поиск

В поле поиска вы можете находить интересующие пары. Поиск работает по принципу регулярного выражения. К примеру, если необходимо найти курс по паре BTC/USDT, достаточно ввести **`BTC/USDT`**

### Приоритетность обновлений курсов

В системе при обновлении существующих курсов существует два типа курсов:

1. **Приоритетные** - курсы, которые уже используются в валюте/направлении. Такие курсы будут обновляться в  приоритете. Система проверяет валюты и направления каждые 5 минут для обновления списка курсов, которые используется.
2. **Неприоритетные** - курсы, которые не используются в валюте/направлении. Такие курсы будут обновляться в порядке очереди (50 курсов/3 секунды).

[^1]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FRBtdruwDpgpwKMHOPVlf%2Fimage.png?alt=media\&token=0944c5c2-8e31-425b-a9df-2bc8595aa883)

[^2]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2Fv85ngYbc8WVcZCYITtlH%2Fimage.png?alt=media\&token=64708645-4863-4c0e-97e7-8dd02cde4c1a)

[^3]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FMyabeMnYaq9ysrsiIhAi%2Fimage.png?alt=media\&token=bda4890c-ac8d-4693-b8c8-950d3b3c435b)

[^4]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FceouTyIgLx6XymReL18D%2Fimage.png?alt=media\&token=0e60c55c-6e64-4351-94a5-8ca834893e23)

[^5]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FAILD6wfTgIDauwj8omFT%2Fimage.png?alt=media\&token=ab778763-ce76-4186-b90d-4404c1c97a99)

[^6]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FiBFuvBwpGGFn9x7L3GYc%2Fimage.png?alt=media\&token=e14e20e7-08be-4387-b548-48957ea60ec6)

[^7]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FzFcFyqeCJ3XvmsN1zjxv%2Fimage.png?alt=media\&token=3dcc1731-6451-427c-b1bc-185843910fba)

[^8]: ![](https://3272217808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMtUdLxlDooDfKq13Is6%2Fuploads%2FgzCQCe6eqs99YVUMck3d%2Fimage.png?alt=media\&token=9a98e3d0-7b91-4ccb-8a70-062a5b307c93)
