BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
СообщениеДобавлено: 01 мар 2016, 16:26 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
У нас настроена задача "Закрытие статуса NPay договоров по балансу" на запуск в 01:10 каждый день. Время выполнения задачи от одной минуты (не первого числа, когда закрываются единицы) до десяти минут (первого числа, когда закрываются сразу очень много договоров). Задача "Calculator", которая подсчитывает планируемую наработку и вызывается из задачи закрытия статуса, выполняется примерно две минуты.

Проблема: если абонент оплачивает услугу после окончания задачи "Calculator" и до окончания основной задачи закрытия статусов, то договор оказывается в статусе "Закрыт", не смотря на то, что баланс у него положительный.

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

Код:
...
03-01/01:10:02  INFO [Thread-4] TaskExecuter - Starting periodic task #27: ru.bitel.bgbilling.modules.npay.server.task.DebetStatusManageLocker
..
03-01/01:11:22  INFO [pool-2-thread-98] Calculator - Task finished time=80039 ms.
...
03-01/01:15:45 - здесь произошёл приход платежа, который сделал баланс на договоре больше нуля.
...
03-01/01:16:54 - здесь изменился статус договора на "Закрыт".
...
03-01/01:17:46  INFO [pool-2-thread-98] DebetStatusManageLocker - Task finished time=464490 ms.
...


Т. е. калькулятор посмотрел на баланс договора и понял, что договор нужно закрыть, и начал обрабатывать другие договоры. В это время абонент пополнил баланс и баланс стал положительным. Договор уже закрывать не нужно, но калькулятор уже всё посчитал. Когда доходит очередь до упомянутого договора, он закрывается не смотря на новый баланс.

Есть ли способ победить описанную проблему?

Пока вижу такое решение: выбирать неправильно закрытые договоры и отправлять им событие обновление баланса. Делать это после задачи закрытия договоров по балансу. Т. к. пока не понятно, как выбирать неправильно закрытые договоры, то можно просто рассылать события для всех закрытых договоров. Но это костыль, хочется нормального решения.

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

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Последний раз редактировалось vkulakov 02 мар 2016, 12:03, всего редактировалось 1 раз.

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

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Что интересно, раньше абонентов, которые столкнулись с подобной проблемой было меньше. Т. е. первого числа таких абонентов вообще могло не быть. Сейчас уже второй месяц подряд появляются абоненты с такой проблемой.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


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

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


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

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Только сейчас заметил, что в названии темы указал неправильную версию.

Можете исправить задачу и в версии 6.0?

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


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

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

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


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

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


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

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