Megogo. Оптимизация API: відмінності між версіями
Sv (обговорення | внесок) Немає опису редагування |
Sv (обговорення | внесок) Немає опису редагування |
||
Рядок 1: | Рядок 1: | ||
Известна проблема некоторых сервисов ТВ, когда их API отвечает довольно медленно.API запросы выполняются последовательно, и при большом их количестве это может занять много времени. И тогда тарифы в NoDeny завершаются на некоторое время позже, соответственно новые подключаются позже. В некоторых режимах тарификации это может влиять на стоимость услуги. Для Megogo не было замечено критических подтормаживаний, однако вы можете улучшить работу этим модулем. | Известна проблема некоторых сервисов ТВ, когда их API отвечает довольно медленно.API запросы выполняются последовательно, и при большом их количестве это может занять много времени. И тогда тарифы в NoDeny завершаются на некоторое время позже, соответственно новые подключаются позже. В некоторых режимах тарификации это может влиять на стоимость услуги. Для Megogo не было замечено критических подтормаживаний, однако вы можете улучшить работу этим модулем. | ||
В данном модуле работа с API вынесена в отдельный поток. При установке/удалении услуги в NoDeny, вместо обращения к API, данные записываются в таблицу api_queue, | В данном модуле работа с API вынесена в отдельный поток. При установке/удалении услуги в NoDeny, вместо обращения к API, данные записываются в таблицу api_queue, благодаря чему тариф в NoDeny отключается/подключается мгновенно. Далее модуль ядра с таким же названием api_queue периодически просматривает таблицу api_queue и выполняет API-запросы. Если запрос не выполнен, он будет повторен через время: сначала через минуту, потом через 5 минут, 30 минут, час и т.д. Количество попыток ограничено пятью. После последней неудачной попытки будет создан важный комментарий у абонента: megogo api error, method add_service. | ||
Модуль ядра api_queue включается/выключается в админке. Однако рекомендуется запускать его отдельным потоком (см. [[Запуск модулей ядра|запуск модулей ядра]]). Не забывайте, если вы только-только установили модуль, чтобы ядро увидело его, нужно просто, ничего не меняя, сохранить конфиг в админке. | Модуль ядра api_queue включается/выключается в админке. Однако рекомендуется запускать его отдельным потоком (см. [[Запуск модулей ядра|запуск модулей ядра]]). Не забывайте, если вы только-только установили модуль, чтобы ядро увидело его, нужно просто, ничего не меняя, сохранить конфиг в админке. |
Версія за 15:50, 1 жовтня 2023
Известна проблема некоторых сервисов ТВ, когда их API отвечает довольно медленно.API запросы выполняются последовательно, и при большом их количестве это может занять много времени. И тогда тарифы в NoDeny завершаются на некоторое время позже, соответственно новые подключаются позже. В некоторых режимах тарификации это может влиять на стоимость услуги. Для Megogo не было замечено критических подтормаживаний, однако вы можете улучшить работу этим модулем.
В данном модуле работа с API вынесена в отдельный поток. При установке/удалении услуги в NoDeny, вместо обращения к API, данные записываются в таблицу api_queue, благодаря чему тариф в NoDeny отключается/подключается мгновенно. Далее модуль ядра с таким же названием api_queue периодически просматривает таблицу api_queue и выполняет API-запросы. Если запрос не выполнен, он будет повторен через время: сначала через минуту, потом через 5 минут, 30 минут, час и т.д. Количество попыток ограничено пятью. После последней неудачной попытки будет создан важный комментарий у абонента: megogo api error, method add_service.
Модуль ядра api_queue включается/выключается в админке. Однако рекомендуется запускать его отдельным потоком (см. запуск модулей ядра). Не забывайте, если вы только-только установили модуль, чтобы ядро увидело его, нужно просто, ничего не меняя, сохранить конфиг в админке.
Папка модуля megogo_hop. Если у вас используется стандартный модуль Megogo, не забудьте его удалить (папку megogo в modules) или отключить:
touch /usr/local/nodeny/modules/megogo/no
Если вы используете обычный модуль комботарифов Megogo, то вам также необходимо его удалить или отключить:
touch /usr/local/nodeny/modules/megogo_combo/no
После чего скачать и установить модуль комботарифов под megogo_hop: megogo_hop_combo.