forum.bitel.ru
http://forum.bitel.ru/

Статус договора при отрицательном балансе
http://forum.bitel.ru/viewtopic.php?f=22&t=9471
Страница 1 из 2

Автор:  mikos [ 21 июл 2014, 22:46 ]
Заголовок сообщения:  Статус договора при отрицательном балансе

Доброго дня.

Скажите пожалуйста, как так могло случиться, что при отрицательном балансе абонента (увели в минус лимитом):

1. Статус договора = Активен
2. Статус IPN = Заблокирован (при этм видно, что шлюзы не закрывались)

В таком состоянии висит уже несколько дней. Абонент пользуется инетом и в ус не дует.

Автор:  dimOn [ 21 июл 2014, 23:07 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

1. не сработала закрывалка договора
2. сработал скрипт тот или иной который не дал закрыть/ отменил закрыти итд

что вообще значит "увели в минус лимитом"? вы увеличили лимит договора, что баланс стал ниже него?

Автор:  mikos [ 21 июл 2014, 23:20 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

1. Как она могла не сработать несколько дней и где ее искать?
2. Нет таких скриптов

Увели в минус - понизили лимит на несколько дней.

Автор:  Phricker [ 21 июл 2014, 23:47 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

Абонплата помесячная?
В таком случае статус не будет блокироваться если списание абонплаты уже произошло. Исправляется флагом
Цитата:
172 23.04.2014 15:38:46 ДОБАВЛЕНО Новый флаг check.account.changed=false в задаче закрытия статуса npay по балансу. Отключает проверку на изменение наработки, позволяет закрыть статус когда c абонента уже списали абонплату (по умолчанию true).


Если лимит ставили временный - то шлюз закроется задачей "Проверка шлюзов IPN" если мне не изменяет память.
Эта задача никак не зависит от статуса. Она смотрит на балансы.

Автор:  stark [ 22 июл 2014, 10:24 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

mikos писал(а):
Доброго дня.

Скажите пожалуйста, как так могло случиться, что при отрицательном балансе абонента (увели в минус лимитом):

1. Статус договора = Активен


У вас дебетовые абонплаты? Никакой другой механизм не меняет статус договора при уходе в минус.

mikos писал(а):
2. Статус IPN = Заблокирован (при этм видно, что шлюзы не закрывались)



Закрытие шлюза по балансу делает задача проверки шлюзов в планировщике. Никаких логов в планировщике за этот период не сохранилось ? Задача вообще работает ? И вообще какой у вас шлюз, нормальный шлюз должен каждый раз проверять , если его статус не совпадает с тем, что стоит на железе, то исправлять ситуацию. Т.е. запуск этой задачи, например, сейчас должен все исправлять.

Автор:  dimOn [ 22 июл 2014, 14:46 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

mikos писал(а):
Увели в минус - понизили лимит на несколько дней.

Вы в смысле понизили лимит. Потом договор ушёл меньше нуля, до лимита. Потом лимит повысился и баланс стал меньше лимита?

Автор:  mikos [ 22 июл 2014, 15:19 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

dimOn писал(а):
mikos писал(а):
Увели в минус - понизили лимит на несколько дней.

Вы в смысле понизили лимит. Потом договор ушёл меньше нуля, до лимита. Потом лимит повысился и баланс стал меньше лимита?

Да, все так и было.

Автор:  mikos [ 22 июл 2014, 15:27 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

Абонплата дебетовая, по-месячная. Пользуемся только штатными средствами, ручками статус не трогаем.
Задача в планировщике есть - выполняется раз в час. Шлюзы - DLink и Mikrotik по SSH.
В договоре это выглядит вот так
Вложение:
Снимок экрана 2014-07-22 в 13.23.28.png
Снимок экрана 2014-07-22 в 13.23.28.png [ 49.25 КБ | Просмотров: 15650 ]

Автор:  dimOn [ 22 июл 2014, 16:05 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

mikos писал(а):
dimOn писал(а):
mikos писал(а):
Увели в минус - понизили лимит на несколько дней.

Вы в смысле понизили лимит. Потом договор ушёл меньше нуля, до лимита. Потом лимит повысился и баланс стал меньше лимита?

Да, все так и было.

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

Автор:  stark [ 22 июл 2014, 16:10 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

mikos писал(а):
Абонплата дебетовая, по-месячная. Пользуемся только штатными средствами, ручками статус не трогаем.
Задача в планировщике есть - выполняется раз в час.


А задача начисления абонплат когда выполняется ? а задача закрытия статуса когда. По статусу договора читайте вот эти 2 темы :
viewtopic.php?f=16&t=9166&p=76156
viewtopic.php?f=16&t=9389&p=78183

Автор:  stark [ 22 июл 2014, 16:11 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

mikos писал(а):
Шлюзы - DLink и Mikrotik по SSH.


Это отдельная проблема. Какие шлюзы? скриптовые или штатные, надо смотреть код.

Автор:  mikos [ 22 июл 2014, 16:15 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

stark писал(а):
mikos писал(а):
Шлюзы - DLink и Mikrotik по SSH.


Это отдельная проблема. Какие шлюзы? скриптовые или штатные, надо смотреть код.


Скриптовые. Смущает, что попытки нет. Почему сами шлюзы то не дернулись?

Автор:  mikos [ 22 июл 2014, 16:16 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

dimOn писал(а):
Ок, после этого договор сам не должен закрыться всё равно. Должны сработать механизмы которые выше обсуждаются.


Я тоже вроде мозгом понимаю, что должно. Но оно как-то все не так пошло. И это настораживает. В любой момент может оказаться пачка халявщиков.

Автор:  mikos [ 22 июл 2014, 16:18 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

stark писал(а):
mikos писал(а):
Абонплата дебетовая, по-месячная. Пользуемся только штатными средствами, ручками статус не трогаем.
Задача в планировщике есть - выполняется раз в час.


А задача начисления абонплат когда выполняется ? а задача закрытия статуса когда. По статусу договора читайте вот эти 2 темы :
viewtopic.php?f=16&t=9166&p=76156
viewtopic.php?f=16&t=9389&p=78183


Спасибо, ссылочки изучу, если там раскрыта тема.

Автор:  stark [ 22 июл 2014, 17:05 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

mikos писал(а):
stark писал(а):
mikos писал(а):
Шлюзы - DLink и Mikrotik по SSH.


Это отдельная проблема. Какие шлюзы? скриптовые или штатные, надо смотреть код.


Скриптовые. Смущает, что попытки нет. Почему сами шлюзы то не дернулись?


А откуда вы знаете что не дернулись ? надо смотреть лог в планировщике в этом момент, может там вообще ошибка . Да и задача проверки шлюзов если у вас стоит, то она при каждом запуске их дергать должна, если там что-то не совпадает.

Автор:  mikos [ 22 июл 2014, 17:18 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

Потому что на скрине не видно, чтобы шлюзы трогались. Просто написано "изменено сервером" в отличии от предыдущих записей, где каждый шлюз фигурировал. Но логи да, надо бы пошерстить.

Автор:  stark [ 22 июл 2014, 17:19 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

mikos писал(а):
dimOn писал(а):
Ок, после этого договор сам не должен закрыться всё равно. Должны сработать механизмы которые выше обсуждаются.


Я тоже вроде мозгом понимаю, что должно. Но оно как-то все не так пошло. И это настораживает. В любой момент может оказаться пачка халявщиков.


Если абонлата уже начислена на момент запуска задачи закрытия статуса(на момент повешения лимита), то статус уже никто менять не будет . Чтобы поменять эту логика есть специальная опция в теме,ссылку на которую я дал. Вопрос - какой у вас тариф ? Помесячный? Подневной? пропорционально периоду действия статуса? Потому как с этой опцией тоже можно подарить. Например безусловно списали вначале месяца 100 рублей , потом неожиданно повысится лимит, ему закроют статус и вернут абонплату, получится, что часть месяца он будет работать нахаляву.

Автор:  stark [ 22 июл 2014, 17:21 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

mikos писал(а):
Потому что на скрине не видно, чтобы шлюзы трогались. Просто написано "изменено сервером" в отличии от предыдущих записей, где каждый шлюз фигурировал. Но логи да, надо бы пошерстить.


Когда сервер меняет , то всегда одна запись. При этом идут команды на оборудование, дергаются все шлюзы, но они не отображаются отдельными строками для каждого шлюза.

Автор:  mikos [ 22 июл 2014, 17:24 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

А вот наверно и причина глюка. Как раз в это время выплыло.

Код:
07-16/00:13:03 ERROR [pool-327-thread-10] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-11] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-12] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-13] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-14] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-15] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-16] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-17] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-18] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-19] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-20] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!

Автор:  mikos [ 22 июл 2014, 17:26 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

Просто увеличить в data.properties?

Код:
db.maxIdle=20
db.maxActive=300
db.validationTimeout=10


Или что-то еще стоит подкрутить?

Автор:  stark [ 22 июл 2014, 17:29 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

mikos писал(а):
А вот наверно и причина глюка. Как раз в это время выплыло.

Код:
07-16/00:13:03 ERROR [pool-327-thread-10] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-11] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-12] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-13] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-14] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-15] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-16] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-17] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-18] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-19] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-20] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!


В каком приложении? в планировщике ?

Автор:  stark [ 22 июл 2014, 17:31 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

mikos писал(а):
Просто увеличить в data.properties?

Код:
db.maxIdle=20
db.maxActive=300
db.validationTimeout=10


Или что-то еще стоит подкрутить?


Нет..Лучше посмотреть не утекают ли connection-ы. Надо запускать status и смотреть за количеством соединений к базе.

Автор:  stark [ 22 июл 2014, 17:33 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

stark писал(а):
mikos писал(а):
А вот наверно и причина глюка. Как раз в это время выплыло.

Код:
07-16/00:13:03 ERROR [pool-327-thread-10] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-11] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-12] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-13] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-14] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-15] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-16] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-17] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-18] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-19] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!
07-16/00:13:03 ERROR [pool-327-thread-20] DefaultServerSetup - Pool [data.data]: Connections limit is over!!!!!


В каком приложении? в планировщике ?


вот тут была похожая проблема в сервере. Можете диагностировать тем же самым образом, как там советуют.

Автор:  mikos [ 22 июл 2014, 17:34 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

Ошибки в scheduler.log

Код:
# ./server.sh status
BGBillingServer v 6.0 build 1760 from 01.07.2014 15:24:15
Started: 02.07.2014 11:38:23   Uptime: 20 d 03:55:46
Memory total: 100 990 976; max: 954 466 304; free: 20 164 224
Memory pools:
  Non-heap memory[Code Cache]: max: 50 331 648; used: 18 641 728; peek: 18 704 192
  Heap memory[PS Eden Space]: max: 355 401 728; used: 2 472 064; peek: 170 786 816
  Heap memory[PS Survivor Space]: max: 1 245 184; used: 426 592; peek: 26 546 264
  Heap memory[PS Old Gen]: max: 715 849 728; used: 77 928 096; peek: 349 829 744
  Non-heap memory[PS Perm Gen]: max: 268 435 456; used: 88 888 144; peek: 89 702 672
Thread count: 187
Connections pool to Master status Idle: 4; Active: 0; maxActive: 300; maxIdle: 20

Автор:  stark [ 22 июл 2014, 17:38 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

mikos писал(а):
Ошибки в scheduler.log

Код:
# ./server.sh status
BGBillingServer v 6.0 build 1760 from 01.07.2014 15:24:15
Started: 02.07.2014 11:38:23   Uptime: 20 d 03:55:46
Memory total: 100 990 976; max: 954 466 304; free: 20 164 224
Memory pools:
  Non-heap memory[Code Cache]: max: 50 331 648; used: 18 641 728; peek: 18 704 192
  Heap memory[PS Eden Space]: max: 355 401 728; used: 2 472 064; peek: 170 786 816
  Heap memory[PS Survivor Space]: max: 1 245 184; used: 426 592; peek: 26 546 264
  Heap memory[PS Old Gen]: max: 715 849 728; used: 77 928 096; peek: 349 829 744
  Non-heap memory[PS Perm Gen]: max: 268 435 456; used: 88 888 144; peek: 89 702 672
Thread count: 187
Connections pool to Master status Idle: 4; Active: 0; maxActive: 300; maxIdle: 20


Надо будет дождаться когда появтся "Connections limit is over" в логе или хотя бы Active станет стабильно больше нуля(если мало, то эта могут текущие выполняемые задачи просто держать их временно) и вызвать

Код:
./ scheduler conpool



Проверьте эту команду сейчас. Я не помню поддерживает ли ее scheduler.

Автор:  stark [ 22 июл 2014, 17:40 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

mikos писал(а):
Ошибки в scheduler.log

Код:
# ./server.sh status
BGBillingServer v 6.0 build 1760 from 01.07.2014 15:24:15
Started: 02.07.2014 11:38:23   Uptime: 20 d 03:55:46
Memory total: 100 990 976; max: 954 466 304; free: 20 164 224
Memory pools:
  Non-heap memory[Code Cache]: max: 50 331 648; used: 18 641 728; peek: 18 704 192
  Heap memory[PS Eden Space]: max: 355 401 728; used: 2 472 064; peek: 170 786 816
  Heap memory[PS Survivor Space]: max: 1 245 184; used: 426 592; peek: 26 546 264
  Heap memory[PS Old Gen]: max: 715 849 728; used: 77 928 096; peek: 349 829 744
  Non-heap memory[PS Perm Gen]: max: 268 435 456; used: 88 888 144; peek: 89 702 672
Thread count: 187
Connections pool to Master status Idle: 4; Active: 0; maxActive: 300; maxIdle: 20


Сразу не заметил. Не тот статус. Статус scheduler-нужен..

Код:
scheduler_status.sh

Автор:  mikos [ 22 июл 2014, 17:42 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

Вроде говорит есть

Код:
# ./scheduler.sh

Usage: [-?|-help] [-h<host>] [-p<port>] -e<command>
Parametrs:
    -?|-help        show this help
    -e<command>   execution one of the following commands:
       start        - starting the BGScheduler
       status       - show the current status of BGScheduler
       reload       - reload tasks from database
       sysvar       - show system variables
       javavar      - show java properties
       conpool      - show connection pool trace, need option db.trace=1 in data.properties


Но на использование ругается

Код:
# ./scheduler.sh conpool
Params parse ERROR: unknown parameter: conpool

Автор:  mikos [ 22 июл 2014, 17:43 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

Код:
# ./scheduler_status.sh
Sending 'status' on 127.0.0.1:9066
Result: TaskExecuter working
Started: 02.07.2014 11:38:59   Uptime: 20 d 04:03:48
Memory total: 1 524 105 216; max: 1 908 932 608; free: 1 382 021 360
Memory pools:
  Non-heap memory[Code Cache]: max: 50 331 648; used: 13 645 760; peek: 13 738 560
  Heap memory[PS Eden Space]: max: 689 831 936; used: 25 597 568; peek: 684 720 128
  Heap memory[PS Survivor Space]: max: 1 048 576; used: 1 025 328; peek: 110 857 976
  Heap memory[PS Old Gen]: max: 1 431 699 456; used: 115 460 960; peek: 922 095 968
  Non-heap memory[PS Perm Gen]: max: 85 983 232; used: 38 529 288; peek: 38 529 288
Thread count: 46
Trees in cache: 98
Periodic tasks executed: 54327; active: 0
Urgent tasks executed: 36; active: 0
Connections pool to Master status Idle: 7; Active: 293; maxActive: 300; maxIdle: 20

Автор:  stark [ 22 июл 2014, 17:44 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

mikos писал(а):
Код:
# ./scheduler_status.sh
Sending 'status' on 127.0.0.1:9066
Result: TaskExecuter working
Started: 02.07.2014 11:38:59   Uptime: 20 d 04:03:48
Memory total: 1 524 105 216; max: 1 908 932 608; free: 1 382 021 360
Memory pools:
  Non-heap memory[Code Cache]: max: 50 331 648; used: 13 645 760; peek: 13 738 560
  Heap memory[PS Eden Space]: max: 689 831 936; used: 25 597 568; peek: 684 720 128
  Heap memory[PS Survivor Space]: max: 1 048 576; used: 1 025 328; peek: 110 857 976
  Heap memory[PS Old Gen]: max: 1 431 699 456; used: 115 460 960; peek: 922 095 968
  Non-heap memory[PS Perm Gen]: max: 85 983 232; used: 38 529 288; peek: 38 529 288
Thread count: 46
Trees in cache: 98
Periodic tasks executed: 54327; active: 0
Urgent tasks executed: 36; active: 0
Connections pool to Master status Idle: 7; Active: 293; maxActive: 300; maxIdle: 20


вызывайте conpool. Что-то нет так

Автор:  mikos [ 22 июл 2014, 17:44 ]
Заголовок сообщения:  Re: Статус договора при отрицательном балансе

Не вызывается

Страница 1 из 2 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/