Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Периодические процессы

За выполнение месячных и дневных периодически процессов отвечает программа /usr/abills/libexec/periodic

Примеры использования

Дневной периодик

/usr/abills/libexec/periodic daily

Дневные периодические процессы, система выполняет дневные периодические действия по всем модулям системы.

Порядок выполнения:

  • Установка кредитов

  • Обнуление скидок

  • Перенос должников по группам

  • Выполнение расписания

    • изменении тарифных планов

    • Установка статусов блокировки

    • выполнение других команд

  • Функции модулей

    • дневная абон. плата

    • управление оборудованием

  • Отправка E-mail отчётов администратору системы

  • Отправка E-mail предупреждений пользователям о израсходованном балансе

Месячный периодик

/usr/abills/libexec/periodic monthly

Месячный периодический процесс. Выполнение месячных процессов системы по всем подключенным модулям

  • Функции модулей

    • месячная абон. плата

    • месячная распределённая абон. плата (снимается каждый день)

    • управление оборудованием

  • Отправка E-mail отчётов администратору системы

  • Отправка E-mail предупреждений пользователям о израсходованном балансе

  • Резервное копирование базы данных

Архивация базы

/usr/abills/libexec/periodic backup

Выполнить резервное копирование 
При выполнении бекапа система пропускает таблицы:

ipn_traf_detail

s_detail

ipn_log_backup

ipn_unknow_ips

errors_log

_old _YYYY_MM_DD


Аргументы

BACKUP_IGNORE='table1,table2'Список игнорируемых таблиц

Запуск расписания принудительно

/usr/abills/libexec/periodic daily SHEDULE=1 DATE=xxxx-xx-xx

Автоматическое выполнение

Вносим в cron периодические процессы /etc/crontab

 */5  *      *    *     *   root   /usr/abills/libexec/billd -all
 1     0     *    *     *   root    /usr/abills/libexec/periodic daily
 1     1     *    *     *   root    /usr/abills/libexec/periodic monthly

Обратите внимание, что дневной периодический процесс желательно запускать в 00:00:00, а месячный через час 01:00:00. Это делается для того, чтобы успели отработать все переключения тарифных планов и другие действия планировщика заданий. Месячный периодик запускается каждый день так как он следит за месячной распределённой абонплатой, месячными периодическими снятиями с произвольными датами и делает бекап.

Аргументы программы

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

DATE=2005-10-01Дата, за которую нужно выполнить периодические процессы
NO_USERS_WARNINGSНе оправлять предупреждений пользователям о израсходованном депозите
MODULES=[modules_list,…]Выполнить периодический процесс только для определённых модулей системы
SKIP_MODULES=[modules_list]Не выполнять программу для определённых модулей системы
NO_ADM_REPORTНе оправлять администратору отчёт о работе системы
FNЗапускать только определённую функцию
SHEDULEВыполнить только расписания
SET_FULL_CREDITУстановка кредита абонентам на сумму всех услуг акаунта, для компаний на сумму всех услуг абонентов компании
FULL_CREDIT_PERIODУстановить время действия полного кредита в днях
LOGINВыполнить периодический процесс только для определённого логина или логинов, логины нужно указывать через запятую
DEBUG=[0..7]Режим отладки 0-7

Установка кредита на сумму всех услуг

Кредит устанавливается на сумму всех услуг предоставляемых абоненту.

Данный кредит устанавливается исходя из следующий критериев:

  • только активным абонента (статус акаунта: активно)

  • если поле кредит не содержит другого значения кредита

  • если сумма на счету меньше суммы общего кредита абонента

Для компаний кредит устанавливается в размере суммы всех используемых услуг абонентами компании.
По умолчанию кредит предоставляется на неограниченный срок. Если нужно установить срок кредита нужно использовать параметр FULL_CREDIT_PERIOD. При использовании параметра FULL_CREDIT_PERIOD дата начала кредита считается датой выполнения программы, если другое не указано в аргументах 
Пример использования
Установка кредита на 10 дней

/usr/abills/libexec/periodic SET_FULL_CREDIT FULL_CREDIT_PERIOD=10

Параметры

UIDВыполнить только для определённого UID
LOGINВыполнить только для определённого логина
COMPANY_IDВыполнить только для определённой компании. 
Только для компаний COMPANY_ID='>0'
  • No labels