Smarty

  1. Домой
  2. Документы
  3. Smarty
  4. Статистика
  5. Динамика абонентов

Динамика абонентов

До релиза Smarty 2.8 статистика для данного раздела хранилась в MongoDB, на данный момент все данные перенесены оттуда в SQL и Redis.

Для корректной миграции данных из MongoDB после обновления на Smarty 2.8 воспользуйтесь командой migrate_account_activity.

Функционал раздела

Данный раздел в основном будет полезен операторам, использующим внутреннюю логику биллинга Smarty, так как показывает данные по оплатам, происходящим внутри Smarty с помощью платежных шлюзов, а также опирается на механизмы работы команды check_accounts.

Каждый из виджетов можно добавить на главную, чтобы они показывались при открытии админки:

Настройка модуля сбора статистики по абонентам для MongoDB

Для отображения информации внутри вкладки «Динамика абонентов» в секции INSTALLED_APPS в файле конфигурации помимо модуля viewstats необходимо добавить модуль smartystats .

После добавления модулей необходимо установить все недостающие миграции командой

smarty_manage migrate --settings=settings.smarty

И настроить корректную работу management-команд cache_max_online и save_stats.

Команда cache_max_online отвечает за обновление информации о максимальном числе абонентов онлайн для статистики. Можно запускать с любой регулярностью, но не реже, чем раз в сутки.

Команда save_stats отвечает за сбор и хранение статистики по каждому клиенту для виджетов на экране «Динамика абонентов». Можно запускать с любой регулярностью, но не реже, чем раз в сутки.

Для работы с большим объемом данных рекомендуется настроить асинхронное выполнение задач через RQ.
Подробнее об асинхронном выполнении задач можно ознакомиться в разделе «Масштабирование и отказоустойчивость» — «Настройка асинхронного выполнения задач через RQ (Redis Queue)».

Дополнительные команды для сбора статистики

Сбор дополнительной статистики для отчета по количеству пользователей

smarty_manage collect_daily_stats --settings=settings.

Данная команда собирает информацию, которая используется в отчетах по оплатам, а также в графиках «Оплаты сегодня» и «Абоненты, от которых поступила оплата» (и части других данных статистики) экрана «Динамика абонентов». Команду необходимо выполнять каждый день в начале дня (время записи сохраняется в UTC+0).

Кеширование данных для графиков «Динамики абонентов»

smarty_manage cache_customers_dynamic --settings=settings.

Команду рекомендуется запускать раз в час. Для небольших баз графики будут работать быстро и корректно и без данной команды. При первом запуске команда может выполняться долго (зависит от количества аккаунтов, транзакций и тарифов) из-за того, что будут рассчитываться данные за весь прошлый месяц. При повторном запуске будут рассчитываться данные только за последний день или час (данные повторно не кешируются).

Дополнительные параметры команды:

--client_id – список идентификаторов клиентов, через запятую, для которых нужно провести кеширование. Если в аргумент ничего не передано, то кешируются данные для всех клиентов.