BiTel

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

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




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

Зарегистрирован: 23 ноя 2015, 15:15
Сообщения: 133
Карма: 2
В планировщике имеется задача "Пролонгация подписок не в реальном времени". При каждом запуске этой задачи в логах шедулера сыпятся следующие ошибки
Цитата:
LoggingPrintStream - Exception in thread "pool-2-thread-1"
scheduler 07-01/11:20:00 ERROR [pool-2-thread-1] LoggingPrintStream - java.lang.NullPointerException
scheduler 07-01/11:20:00 ERROR [pool-2-thread-1] LoggingPrintStream - at ru.bitel.bgbilling.modules.tv.api.server.ProductManager.productsProlongate(ProductManager.java:370)
scheduler 07-01/11:20:00 ERROR [pool-2-thread-1] LoggingPrintStream - at ru.bitel.bgbilling.modules.tv.task.TvProlongationTask.executeTaskImpl(TvProlongationTask.java:113)
scheduler 07-01/11:20:00 ERROR [pool-2-thread-1] LoggingPrintStream - at ru.bitel.bgbilling.modules.tv.task.TvProlongationTask.executeTask(TvProlongationTask.java:52)
scheduler 07-01/11:20:00 ERROR [pool-2-thread-1] LoggingPrintStream - at ru.bitel.bgbilling.kernel.task.server.TaskBase.run(TaskBase.java:76)
scheduler 07-01/11:20:00 ERROR [pool-2-thread-1] LoggingPrintStream - at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
scheduler 07-01/11:20:00 ERROR [pool-2-thread-1] LoggingPrintStream - at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
scheduler 07-01/11:20:00 ERROR [pool-2-thread-1] LoggingPrintStream - at java.lang.Thread.run(Thread.java:745)


Что бы это могло быть?

Цитата:
Клиент: вер. 6.2.809 / 22.03.2016 17:12:01
os: Windows 8.1; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91
Сервер: вер. 6.2.1038 / 28.03.2016 19:03:40
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_77


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

Зарегистрирован: 23 ноя 2015, 15:15
Сообщения: 133
Карма: 2
И, соответственно, данная задача не вполняется, см.скриншот. А началось всё после обновления модуля TV до версии 6.2.221


Вложения:
prolong.png
prolong.png [ 23.16 КБ | Просмотров: 5982 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июл 2016, 15:42 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Код модуля - 160 О_о
160 модулей О_О

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июл 2016, 17:20 
Не в сети

Зарегистрирован: 23 ноя 2015, 15:15
Сообщения: 133
Карма: 2
Есть ли что-нибудь у кого-нибудь "по делу"?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 июл 2016, 21:42 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
maxst-net писал(а):
А началось всё после обновления модуля TV до версии 6.2.221

Во-первых всегда показывайте весь текст из about при описании проблем.
Во-вторых, если версии клиента/сервера из первого сообщения верные, то выходит, что вы обновили модуль TV не обновляя остальную часть биллинга. Никогда так не делайте, все компоненты надо всегда обновлять целиком.
Итого: начать решение этой проблемы в любом случае надо с нормального обновления.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 июл 2016, 12:15 
Не в сети

Зарегистрирован: 23 ноя 2015, 15:15
Сообщения: 133
Карма: 2
Цитата:
Итого: начать решение этой проблемы в любом случае надо с нормального обновления.

Правильно ли я понимаю, что нормальное обновление - это запуск ./update.sh ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 июл 2016, 12:44 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
да. или bginstaller update + перезагрузки приложений

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 июл 2016, 13:41 
Не в сети

Зарегистрирован: 23 ноя 2015, 15:15
Сообщения: 133
Карма: 2
А кто может доходчиво объяснить что есть "пролонгация подписок" и нужна ли она вообще? С примером по возможности.


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
По умолчанию продукты пытаются продлиться прямо в момент завершения, т.е. в реальном времени.
Это может не подойти, если используются дебетовые абонплаты и посуточное списание в модуле ТВ - в этом случае ТВ протарифицирует и начислит наработку раньше абонплат.
Поэтому в продукте в модуле можно установить продление не "в реальном времени", а "по планировщику" и продлением такого продукта будет заниматься задача планировщика.

Данная ошибка означает, скорее всего, что на договоре был активирован какой-то продукт, но потом в модуле он был удален.
SELECT * FROM inv_product as p LEFT JOIN inv_product_spec as s ON p.specId=s.id WHERE s.id IS NULL

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 июл 2016, 20:06 
Не в сети

Зарегистрирован: 23 ноя 2015, 15:15
Сообщения: 133
Карма: 2
Amir писал(а):
По умолчанию продукты пытаются продлиться прямо в момент завершения, т.е. в реальном времени.
Это может не подойти, если используются дебетовые абонплаты и посуточное списание в модуле ТВ - в этом случае ТВ протарифицирует и начислит наработку раньше абонплат.
Поэтому в продукте в модуле можно установить продление не "в реальном времени", а "по планировщику" и продлением такого продукта будет заниматься задача планировщика.

Данная ошибка означает, скорее всего, что на договоре был активирован какой-то продукт, но потом в модуле он был удален.
SELECT * FROM inv_product as p LEFT JOIN inv_product_spec as s ON p.specId=s.id WHERE s.id IS NULL

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


Премного благодарен. Доходчивое описание.
Ошибка побеждена. Действительно, дело было в не правильном удалении продуктов с договора.


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

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
Появилась та же ошибка, на тестовом биллинге пробовал заводить по-разному продукты, наверное, что-то напутал, есть подозрение на то, что создавал персональные тарифные планы с модулем TV, вроде как до них все работало нормально:
Код:
08-02/11:56:06  INFO [Thread-12] RunTaskDataManager - get next tasks: new task id=1 ru.bitel.bgbilling.modules.tv.task.TvProlongationTask
08-02/11:56:06  INFO [Thread-12] TaskRunProcessor - Running Task: ru.bitel.bgbilling.modules.tv.task.TvProlongationTask
08-02/11:56:06  INFO [pool-1-thread-1] TvProlongationTask - start task id => 13 at time 02.08.2016 11
08-02/11:56:06  INFO [pool-1-thread-1] Setup - Load config for mid=10
08-02/11:56:07 ERROR [pool-1-thread-1] TvProlongationTask - java.lang.NullPointerException
08-02/11:56:07  INFO [pool-1-thread-1] TvProlongationTask - RunTask finished time=899 ms.

При этом предложенный скрипт
Цитата:
SELECT * FROM inv_product as p LEFT JOIN inv_product_spec as s ON p.specId=s.id WHERE s.id IS NULL

не отрабатывает, ругается на поле p.specid, если его поправить и запустить так:
Цитата:
SELECT * FROM inv_product as p LEFT JOIN inv_product_spec as s ON p.productspecId=s.id WHERE s.id IS NULL

то ничего не выдает.

Подскажите пожалуйста, на что еще обратить внимание, чтобы найти ошибку?

Информация о версии:

Клиент: вер. 6.2.833 / 28.07.2016 19:52:37
os: Linux; java: Java HotSpot(TM) Server VM, v.1.8.0_74
Сервер: вер. 6.2.1100 / 29.07.2016 15:30:49
os: Linux; java: Java HotSpot(TM) Client VM, v.1.8.0_74

assist: вер. 6.2.87 / 13.07.2016 17:32:04
bill: вер. 6.2.87 / 10.06.2016 13:28:18
card: вер. 6.2.39 / 26.05.2016 14:50:45
dba: вер. 6.2.163 / 02.02.2016 17:42:00
enaza: вер. 6.2.59 / 19.04.2016 21:47:47
gorod: вер. 6.2.164 / 01.03.2016 00:18:32
inet: вер. 6.2.677 / 29.07.2016 15:18:30
mps: вер. 6.2.214 / 14.07.2016 16:43:28
npay: вер. 6.2.196 / 20.07.2016 09:56:08
paylinks: вер. 6.2.31 / 02.02.2016 17:42:04
qiwi: вер. 6.2.48 / 14.07.2016 14:11:51
rentsoft: вер. 6.2.61 / 26.05.2016 18:24:51
reports: вер. 6.2.209 / 06.06.2016 12:43:49
rscm: вер. 6.2.177 / 10.06.2016 13:40:20
ru.bitel.bgbilling.plugins.cladr: вер. 6.2.119 / 02.02.2016 17:42:00
ru.bitel.bgbilling.plugins.dispatch: вер. 6.2.85 / 11.07.2016 17:32:00
trayinfo: вер. 6.2.170 / 02.02.2016 17:42:09
tv: вер. 6.2.223 / 25.07.2016 19:56:48
wellpay: вер. ?
wm: вер. 6.2.188 / 29.07.2016 16:09:59
yamoney: вер. 6.2.57 / 19.04.2016 21:47:48


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 авг 2016, 15:33 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Покажите ошибку полностью, возможно она немного другая.


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

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
А вот вся она такая, короткая. Мб, что-нибудь настроить для более подробного логирования (не знаю, что именно)? Причем, в первый раз ошибка была подробнее, но я порылся в настройках, добавил начало периода в одном из продуктов, удалил один "подозрительный" аккаунт, и стало вот так - коротко совсем. А подробный вариант пропал после перезагрузки, не думал, что станет совсем коротко, старый лог не сохранил.

Попутно проверил персональные тарифы на старой виртуалке - все работает, дело не в них как таковых. Мб, повлиял такой порядок действий:

- завел в тарифе продукты, все с нулевой оплатой
- один из продуктов надо было сделать с не нулевой оплатой, но вспомнил я об этом уже тогда, когда принялся активировать продукты в договоре
- когда вспомнил, открыл тариф, поменял оплату на продукте, при этом на договоре оставалась открытой закладка с добавлением продукта
- потом продукт с измененной оплатой активировал на договоре, после активации за сутки сразу списалась АП (списание настраивал посуточное, такое, как обсуждали недавно)
- на следующие сутки пошла ошибка


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 авг 2016, 21:38 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Выложили обновление.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 авг 2016, 06:57 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
Ошибка ушла, спасибо.


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

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


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

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


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

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