BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 апр 2024, 22:44

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: 01 фев 2010, 17:12 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Есть проблема.

Второй месяц подряд идут обращения из Т.П., по поводу не верного блокирования шлюза IPN, сервером. Шлюз блокируется, даже при положительном балансе.

Начисление абонплаты запускается в 05 мин. каждого часа.
Проверка шлюзов IPN запускается с интервалом в 5 мин.

Сервер 4.6.647
IPN 4.6.239


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 фев 2010, 18:16 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
в логах шедулера надо искать строки типа :
Locking xxx balance: -188.38 limit 0.00
где xxx - номер договора


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 фев 2010, 18:36 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
02-01/01:10:05 INFO [pool-2-thread-2] IPNTestGates - Locking XXX balance: -146.23 limit 0.00


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 фев 2010, 13:42 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Ув. разработчики, кто нибудь ответит?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 фев 2010, 16:59 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
у вас это стабильно происходит ? Попробуйте разнести подсчёт абонплаты и обсчет IPN по времени, чтобы они не пересекались . не получается это отловить


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 фев 2010, 17:05 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Предлагаю установить в на таблицу contract_balance подобие вот этого тригера :
http://wiki.bgbilling.ru/index.php/%D0% ... 0%B8%D0%B9

и отследить когда меняется баланс . Если ситуация повторится и баланс неожиданно временно станет отрицательыным, тогда нужны логи шедулера и сервера на момент этих изменений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 фев 2010, 18:23 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Да регулярно, вчера ещё всплыли договоры с такой проблемой.
Триггер на таблицу contract_balance поставим, но придётся ждать следующего месяца.
Абоненты сидят без связи, пока сообразят обратится в ТП.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 фев 2010, 19:07 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
iONE писал(а):
Да регулярно, вчера ещё всплыли договоры с такой проблемой.
Триггер на таблицу contract_balance поставим, но придётся ждать следующего месяца.
Абоненты сидят без связи, пока сообразят обратится в ТП.


А почему ждать следующего месяца ? у вас в середине месяца такое не происходит ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 фев 2010, 19:37 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Ну по крайней мере ТП не обращалась с такой проблемой в середине месяца.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 фев 2010, 19:44 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
iONE писал(а):
Ну по крайней мере ТП не обращалась с такой проблемой в середине месяца.

мы наткнулись еще на один такой случай ..там это произошло 31-го числа


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 фев 2010, 19:54 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Триггеры на добавление, изменение таблицы contract_balance стоят, посмотрим что происходит и когда.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 фев 2010, 13:42 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Вот такое действие, сначала INSERT с вх. ост = 0, а потом UPDATE с вх.ост=1000 - нормальное поведение?
Код:
select * from events_log_contract_balance where cid = 14;
+----+---------------------+--------+------+----+-----+---------+--------+--------+--------+
| id | date                | event  | yy   | mm | cid | summa1  | summa2 | summa3 | summa4 |
+----+---------------------+--------+------+----+-----+---------+--------+--------+--------+
| 62 | 2010-02-04 23:18:57 | INSERT | 2010 |  2 |  14 |    0.00 |   0.00 |   0.00 |   0.00 |
| 63 | 2010-02-04 23:18:57 | UPDATE | 2010 |  2 |  14 | 1000.00 |   0.00 |   0.00 |   0.00 |
+----+---------------------+--------+------+----+-----+---------+--------+--------+--------+
2 rows in set (0.00 sec)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 фев 2010, 17:09 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
iONE писал(а):
Вот такое действие, сначала INSERT с вх. ост = 0, а потом UPDATE с вх.ост=1000 - нормальное поведение?
Код:
select * from events_log_contract_balance where cid = 14;
+----+---------------------+--------+------+----+-----+---------+--------+--------+--------+
| id | date                | event  | yy   | mm | cid | summa1  | summa2 | summa3 | summa4 |
+----+---------------------+--------+------+----+-----+---------+--------+--------+--------+
| 62 | 2010-02-04 23:18:57 | INSERT | 2010 |  2 |  14 |    0.00 |   0.00 |   0.00 |   0.00 |
| 63 | 2010-02-04 23:18:57 | UPDATE | 2010 |  2 |  14 | 1000.00 |   0.00 |   0.00 |   0.00 |
+----+---------------------+--------+------+----+-----+---------+--------+--------+--------+
2 rows in set (0.00 sec)


да


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2010, 20:05 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
В продолжение темы. Поступил запрос из ТП, что при положительном балансе, шлюз не перешёл из состояния "заблокирован" в состояние "закрыт". Пришлось открывать в ручную.

Вот логи по этому договору, собранные триггером:

Код:
+-----+---------------------+--------+------+----+------+---------+--------+---------+--------+
| id  | date                | event  | yy   | mm | cid  | summa1  | summa2 | summa3  | summa4 |
+-----+---------------------+--------+------+----+------+---------+--------+---------+--------+
| 504 | 2010-02-09 12:00:03 | UPDATE | 2010 |  2 | 5134 | 4007.42 |   0.00 | 4300.00 |   0.00 |
| 547 | 2010-02-09 16:00:03 | UPDATE | 2010 |  2 | 5134 | 4007.42 |   0.00 | 4000.00 |   0.00 |
+-----+---------------------+--------+------+----+------+---------+--------+---------+--------+
2 rows in set (0.01 sec)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2010, 20:35 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
iONE писал(а):
В продолжение темы. Поступил запрос из ТП, что при положительном балансе, шлюз не перешёл из состояния "заблокирован" в состояние "закрыт". Пришлось открывать в ручную.

Вот логи по этому договору, собранные триггером:

Код:
+-----+---------------------+--------+------+----+------+---------+--------+---------+--------+
| id  | date                | event  | yy   | mm | cid  | summa1  | summa2 | summa3  | summa4 |
+-----+---------------------+--------+------+----+------+---------+--------+---------+--------+
| 504 | 2010-02-09 12:00:03 | UPDATE | 2010 |  2 | 5134 | 4007.42 |   0.00 | 4300.00 |   0.00 |
| 547 | 2010-02-09 16:00:03 | UPDATE | 2010 |  2 | 5134 | 4007.42 |   0.00 | 4000.00 |   0.00 |
+-----+---------------------+--------+------+----+------+---------+--------+---------+--------+
2 rows in set (0.01 sec)


А это другой случай. Обратную операцию , т.е перевод из состояния открыт в состояние закрыт делает не задача проверки шлюзов . Это происходит только по приходу платежа . Но у вас приходов платежа не было . В 16:00:03 у вас уменьшилась наработка . Посмотрите какой пересчет был в это время и почему так получилось .


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2010, 20:40 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
вы случайно не используете какие-нибудь скрипты для дебитовых абонплат ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2010, 20:45 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Да это не тот случай. Мне сообщили что был сделан перерасчёт.
На сколько я понял открытие шлюза происходит по приходу платежа, а вот жёсткая блокировка разблокировка должна производится модулем автоматически в зависимости от состояния баланса.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2010, 20:48 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
iONE писал(а):
Да это не тот случай. Мне сообщили что был сделан перерасчёт.
На сколько я понял открытие шлюза происходит по приходу платежа, а вот жёсткая блокировка разблокировка должна делаться производится модулем автоматически в зависимости от состояния баланса.


что вы понимаете под блокировкой и разблокировкой ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2010, 20:53 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
блокировка - состояние шлюза "Заблокирован", абонент не может сам открыть.
разблокировка - состояние шлюза "Закрыт", абонент может сам открыть.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2010, 20:56 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
т.к открытие шлюза это и есть разблокировка ..вы просто разнесли эти понятия выше

Нет ..автоматически(в задаче проверки шлюзов) происходит только бликировка по состоянию баланса. Обратная операция не производится


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 фев 2010, 21:00 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
т.е. состояния шлюза "Закрыт/Открыт" меняются только по событию прихода платежа?

И как быть в такой ситуации? Всем в ручную после выхода из минуса или скриптом по таймеру, не по приходу платежа, "разблокировать"?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 фев 2010, 13:46 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
iONE писал(а):
т.е. состояния шлюза "Закрыт/Открыт" меняются только по событию прихода платежа?

не совсем . Работает так

1. задача поверки шлюзов запускается по планировщику и кроме проверки статус самих шлюзов (реальны статус шлюза на железке совпадает со статусом модуля IPN ) она перед этим еще может менять статус модуля IPN. Но меняет она его в одну сторону. Т.е если баланс стал меньше лимита , то стату шлюза меняет за заблокирован.

2. По приходу платежа(или изменения лимита ) если баланс стал больше лимита , то статус шлюза меняется на открыт.

Логика тут такая . наработка обычно должна расти в результате пересчетов, а не уменьшаться, поэтому в 1-м пункте статус IPN меняется только в одну сторону . И баланс должен расти только во 2-м случае . Если это происходит по каким-то другим причинам , то это либо ошибка и надо разбираться почему наработка уменьшилась либо это какой-то специальный случай (поменяли тариф и сделали перобсчет напрмер) и в этом случае надо поменять статус шлюза вручную.

iONE писал(а):
И как быть в такой ситуации? Всем в ручную после выхода из минуса или скриптом по таймеру, не по приходу платежа, "разблокировать"?


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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 фев 2010, 13:48 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
вот тут эта тема поднималась уже:
viewtopic.php?f=7&t=3244


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 ноя 2010, 20:44 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Шлюз не переходит из состояния "Заблокирован" в состояние "Открыт" по приходу платежа через модуль "карточки и удалённые платежи".
Если платёж внести из клиента, то статус меняется.

Сервер 5.0.768.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 ноя 2010, 23:08 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Есть сервер 5.0.766 на нём такой проблемы не наблюдается.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 ноя 2010, 00:27 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Обновил сервер до 5.0.778
Ситуация не изменилась, при приходе платежа шлюз IPN не меняет статус.
Сейчас вышел из положения путём ручного смены статуса в базе.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 ноя 2010, 12:23 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Так же не понятки со сменой статуса шлюза на "заблокирован" задачей IPNTestGates:

Код:
SELECT count(*) FROM contract c, ipn_contract_status_7 ics WHERE c.id = ics.cid AND c.status <> 0 AND ics.status = 0;
+----------+
| count(*) |
+----------+
|      189 |
+----------+


Лог scheduler.log:
Код:
11-02/09:30:07  INFO [pool-2-thread-1] IPNTestGates - Gate: X.X.0.90 : 4567 [ ??19 ] - checking end..
11-02/09:30:07  INFO [pool-2-thread-1] IPNTestGates - Gate: X.X.1.7 : 4567 [ ???????? ] - checking end..
11-02/09:30:08  INFO [pool-2-thread-1] IPNTestGates - Gate: X.X.59.18 : 4567 [ ??????? ] - checking end..
11-02/09:30:09  INFO [pool-2-thread-1] IPNTestGates - Locked clients:
11-02/09:30:09  INFO [pool-2-thread-1] IPNTestGates -
11-02/09:30:09  INFO [pool-2-thread-1] IPNTestGates - Task finished time=6453 ms.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 ноя 2010, 13:13 
Не в сети
Клиент

Зарегистрирован: 25 ноя 2007, 22:48
Сообщения: 472
Карма: 8
Сегодня пришёл платёж от дилера и шлюз успешно сменил статус с "Заблокирован" на "Открыт".

Что происходит, от чего зависит результат? Куда копать, что смотреть?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 ноя 2010, 18:48 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
iONE писал(а):
Так же не понятки со сменой статуса шлюза на "заблокирован" задачей IPNTestGates:

Код:
SELECT count(*) FROM contract c, ipn_contract_status_7 ics WHERE c.id = ics.cid AND c.status <> 0 AND ics.status = 0;
+----------+
| count(*) |
+----------+
|      189 |
+----------+


Лог scheduler.log:
Код:
11-02/09:30:07  INFO [pool-2-thread-1] IPNTestGates - Gate: X.X.0.90 : 4567 [ ??19 ] - checking end..
11-02/09:30:07  INFO [pool-2-thread-1] IPNTestGates - Gate: X.X.1.7 : 4567 [ ???????? ] - checking end..
11-02/09:30:08  INFO [pool-2-thread-1] IPNTestGates - Gate: X.X.59.18 : 4567 [ ??????? ] - checking end..
11-02/09:30:09  INFO [pool-2-thread-1] IPNTestGates - Locked clients:
11-02/09:30:09  INFO [pool-2-thread-1] IPNTestGates -
11-02/09:30:09  INFO [pool-2-thread-1] IPNTestGates - Task finished time=6453 ms.


в Locked clients: выводятс те, у кого сменился статус при запуске этой задачи . Т.е баланс меньше лимита, а статус открыт . тогда меняется статус в ipn_contract_status. У вас похоже таких нет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 ноя 2010, 18:48 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
iONE писал(а):
Сегодня пришёл платёж от дилера и шлюз успешно сменил статус с "Заблокирован" на "Открыт".

Что происходит, от чего зависит результат? Куда копать, что смотреть?


статус договора у вас при этом какой ?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.417s | 80 Queries | GZIP : On ]