Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Добавлен мониторинг даты последней успешной загрузки платежа

...

  • num_N_JOB_ID — идентификатор задания.

Различаются 5 результатов выполнения (N_JOB_STATUS в SQL-запросе выше):

...

Триггер для мониторинга следует настраивать в зависимости от интервала загрузки RADIUS-аккаунтига.

Мониторинг даты последней успешной загрузки платежа

Следующий запрос показывает дату последней успешной загрузки платежа из внешних систем в АСР (его удобно использовать для анализа человеком):

Code Block
languagesql
SELECT DECODE(MAX(D_LOAD), NULL, 'Never',
       TO_CHAR(MAX(D_LOAD), 'DD.MM.YYYY HH24:MI:SS')) VC_LAST_LOAD
FROM   EX_V_PAYMENTS
WHERE  N_RATING = 100;

В результате выполнения запроса может быть либо точная дата в следующем виде:

Code Block
LAST_DATE_LOAD
-------------------
25.03.2014 08:09:43

либо строка «Never», если в БД нет успешных платежей из внешних систем:

Code Block
LAST_DATE_LOAD
-------------------
Never

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

Code Block
languagesql
SELECT DECODE(MAX(D_LOAD), NULL, 'Never',
       TO_CHAR(MAX(D_LOAD), 'DD.MM.YYYY HH24:MI:SS')) VC_LAST_LOAD
FROM   EX_V_PAYMENTS
WHERE  N_RATING        = 100
AND    N_TO_ACCOUNT_ID = <num_N_TO_ACCOUNT_ID>;

где:

  • num_N_TO_ACCOUNT_ID — идентификатор счета платежной системы у юридического лица оператора связи.

В следующем запросе в качестве результата выводится либо время, когда была произведена последняя успешная загрузка платежа (в секундах от даты последней загрузки до текущего момента времени), либо «-1», если в БД нет успешных платежей из внешних систем. Данный запрос удобно применять для обработки в системах мониторинга:

Code Block
languagesql
SELECT DECODE(MAX(D_LOAD), NULL, -1, TO_CHAR((SYSDATE-MAX(D_LOAD))*(60*60*24), 'FM99999999999999990')) N_LAST_LOAD_SEC
FROM   EX_V_PAYMENTS
WHERE  N_RATING = 100;

Аналогичный запрос в разрезе платежной системы:

Code Block
languagesql
SELECT DECODE(MAX(D_LOAD), NULL, -1, TO_CHAR((SYSDATE-MAX(D_LOAD))*(60*60*24), 'FM99999999999999990')) N_LAST_LOAD_SEC
FROM   EX_V_PAYMENTS
WHERE  N_RATING        = 100
AND    N_TO_ACCOUNT_ID = <num_N_TO_ACCOUNT_ID>;

где:

  • num_N_TO_ACCOUNT_ID — идентификатор счета платежной системы у юридического лица оператора связи.

Триггер для мониторинга следует настраивать в зависимости от интенсивности поступления платежей.

Контроль выполнения событий

...