Trinity-TV. Оптимизация API: відмінності між версіями

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку
Немає опису редагування
 
(Не показано 7 проміжних версій цього користувача)
Рядок 1: Рядок 1:
==Комботарифы==
В одном NoDeny тарифе содержатся 2:
* тариф Trinity-TV
* интернет тариф
==Оптимизация API==
Известна проблема, когда API Trinity-TV отвечает довольно медленно. Когда примерно в одно и тоже время переподключается множество Trinity-TV тарифов, API запросы выполняются последовательно, что может занять много времени. И тогда тарифы в NoDeny завершаются на некоторое время позже, соответственно новые подключаются позже. В некоторых режимах тарификации это может влиять на стоимость услуги.
Известна проблема, когда API Trinity-TV отвечает довольно медленно. Когда примерно в одно и тоже время переподключается множество Trinity-TV тарифов, API запросы выполняются последовательно, что может занять много времени. И тогда тарифы в NoDeny завершаются на некоторое время позже, соответственно новые подключаются позже. В некоторых режимах тарификации это может влиять на стоимость услуги.


В данном модуле работа с API вынесена в отдельный поток. Сам комботариф, вместо обращения к API, записывает данные в таблицу api_queue и отключает/подключает NoDeny тариф мгновенно. Далее модуль ядра с таким же названием api_queue периодически просматривает таблицу api_queue и выполняет API-запросы. Если запрос не выполнен, он будет повторен через время: сначала через минуту, потом через 5 минут, 30 минут, час и т.д. Количество попыток ограничено пятью.
В данном модуле работа с API вынесена в отдельный поток. При установке/удалении услуги в NoDeny, вместо обращения к API, данные записываются в таблицу api_queue, благодаря чему тариф в NoDeny отключается/подключается мгновенно. Далее модуль ядра с таким же названием api_queue периодически просматривает таблицу api_queue и выполняет API-запросы. Если запрос не выполнен, он будет повторен через время: сначала через минуту, потом через 5 минут, 30 минут, час и т.д. Количество попыток ограничено пятью. После последней неудачной попытки будет создан важный комментарий у абонента: trinitytv api error, method add_service.


Модуль ядра api_queue включается/выключается в админке. Однако рекомендуется запускать его отдельным потоком (см. [[Запуск модулей ядра|запуск модулей ядра]]). Не забывайте, если вы только-только установили модуль, чтобы ядро увидело его, нужно просто, ничего не меняя, сохранить конфиг в админке.
Модуль ядра api_queue включается/выключается в админке. Однако рекомендуется запускать его отдельным потоком (см. [[Запуск модулей ядра|запуск модулей ядра]]). Не забывайте, если вы только-только установили модуль, чтобы ядро увидело его, нужно просто, ничего не меняя, сохранить конфиг в админке.


Если вы используете обычный модуль комботарифов Trinity-TV, не забудьте его удалить (папку в modules) или отключить
Папка модуля trinitytv_hop. Если у вас используется стандартный модуль Trinity-TV, не забудьте его удалить (папку trinitytv в modules) или отключить:
<pre>
touch /usr/local/nodeny/modules/trinitytv/no
</pre>
 
Если вы используете обычный модуль комботарифов Trinity-TV, то вам также необходимо его удалить или отключить:
<pre>
<pre>
touch /usr/local/nodeny/modules/trinitytv_combo/no
touch /usr/local/nodeny/modules/trinitytv_combo/no
</pre>
</pre>
После чего скачать и установить модуль комботарифов под trinitytv_hop: trinitytv_hop_combo.

Поточна версія на 15:48, 1 жовтня 2023

Известна проблема, когда API Trinity-TV отвечает довольно медленно. Когда примерно в одно и тоже время переподключается множество Trinity-TV тарифов, API запросы выполняются последовательно, что может занять много времени. И тогда тарифы в NoDeny завершаются на некоторое время позже, соответственно новые подключаются позже. В некоторых режимах тарификации это может влиять на стоимость услуги.

В данном модуле работа с API вынесена в отдельный поток. При установке/удалении услуги в NoDeny, вместо обращения к API, данные записываются в таблицу api_queue, благодаря чему тариф в NoDeny отключается/подключается мгновенно. Далее модуль ядра с таким же названием api_queue периодически просматривает таблицу api_queue и выполняет API-запросы. Если запрос не выполнен, он будет повторен через время: сначала через минуту, потом через 5 минут, 30 минут, час и т.д. Количество попыток ограничено пятью. После последней неудачной попытки будет создан важный комментарий у абонента: trinitytv api error, method add_service.

Модуль ядра api_queue включается/выключается в админке. Однако рекомендуется запускать его отдельным потоком (см. запуск модулей ядра). Не забывайте, если вы только-только установили модуль, чтобы ядро увидело его, нужно просто, ничего не меняя, сохранить конфиг в админке.

Папка модуля trinitytv_hop. Если у вас используется стандартный модуль Trinity-TV, не забудьте его удалить (папку trinitytv в modules) или отключить:

touch /usr/local/nodeny/modules/trinitytv/no

Если вы используете обычный модуль комботарифов Trinity-TV, то вам также необходимо его удалить или отключить:

touch /usr/local/nodeny/modules/trinitytv_combo/no

После чего скачать и установить модуль комботарифов под trinitytv_hop: trinitytv_hop_combo.