forum.bitel.ru http://forum.bitel.ru/ |
|
Ошибка в "Пролонгации подписок не в реальном времени" http://forum.bitel.ru/viewtopic.php?f=61&t=11755 |
Страница 1 из 1 |
Автор: | maxst-net [ 01 июл 2016, 15:08 ] |
Заголовок сообщения: | Ошибка в "Пролонгации подписок не в реальном времени" |
В планировщике имеется задача "Пролонгация подписок не в реальном времени". При каждом запуске этой задачи в логах шедулера сыпятся следующие ошибки Цитата: 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 |
Автор: | Phricker [ 03 июл 2016, 15:42 ] |
Заголовок сообщения: | Re: Ошибка в "Пролонгации подписок не в реальном времени" |
Код модуля - 160 О_о 160 модулей О_О |
Автор: | maxst-net [ 03 июл 2016, 17:20 ] |
Заголовок сообщения: | Re: Ошибка в "Пролонгации подписок не в реальном времени" |
Есть ли что-нибудь у кого-нибудь "по делу"? |
Автор: | dimOn [ 03 июл 2016, 21:42 ] |
Заголовок сообщения: | Re: Ошибка в "Пролонгации подписок не в реальном времени" |
maxst-net писал(а): А началось всё после обновления модуля TV до версии 6.2.221 Во-первых всегда показывайте весь текст из about при описании проблем. Во-вторых, если версии клиента/сервера из первого сообщения верные, то выходит, что вы обновили модуль TV не обновляя остальную часть биллинга. Никогда так не делайте, все компоненты надо всегда обновлять целиком. Итого: начать решение этой проблемы в любом случае надо с нормального обновления. |
Автор: | maxst-net [ 04 июл 2016, 12:15 ] |
Заголовок сообщения: | Re: Ошибка в "Пролонгации подписок не в реальном времени" |
Цитата: Итого: начать решение этой проблемы в любом случае надо с нормального обновления. Правильно ли я понимаю, что нормальное обновление - это запуск ./update.sh ? |
Автор: | dimOn [ 04 июл 2016, 12:44 ] |
Заголовок сообщения: | Re: Ошибка в "Пролонгации подписок не в реальном времени" |
да. или bginstaller update + перезагрузки приложений |
Автор: | maxst-net [ 04 июл 2016, 13:41 ] |
Заголовок сообщения: | Re: Ошибка в "Пролонгации подписок не в реальном времени" |
А кто может доходчиво объяснить что есть "пролонгация подписок" и нужна ли она вообще? С примером по возможности. |
Автор: | Amir [ 04 июл 2016, 16:55 ] |
Заголовок сообщения: | Re: Ошибка в "Пролонгации подписок не в реальном времени" |
По умолчанию продукты пытаются продлиться прямо в момент завершения, т.е. в реальном времени. Это может не подойти, если используются дебетовые абонплаты и посуточное списание в модуле ТВ - в этом случае ТВ протарифицирует и начислит наработку раньше абонплат. Поэтому в продукте в модуле можно установить продление не "в реальном времени", а "по планировщику" и продлением такого продукта будет заниматься задача планировщика. Данная ошибка означает, скорее всего, что на договоре был активирован какой-то продукт, но потом в модуле он был удален. SELECT * FROM inv_product as p LEFT JOIN inv_product_spec as s ON p.specId=s.id WHERE s.id IS NULL В недавних билдах запретили удалять продукт из модуля, если он уже был активирован на договоре. В новых билдах сделаем, чтобы в этом месте в такой же ситуации просто писал предупреждение одной строчкой. |
Автор: | maxst-net [ 04 июл 2016, 20:06 ] |
Заголовок сообщения: | Re: Ошибка в "Пролонгации подписок не в реальном времени" |
Amir писал(а): По умолчанию продукты пытаются продлиться прямо в момент завершения, т.е. в реальном времени. Это может не подойти, если используются дебетовые абонплаты и посуточное списание в модуле ТВ - в этом случае ТВ протарифицирует и начислит наработку раньше абонплат. Поэтому в продукте в модуле можно установить продление не "в реальном времени", а "по планировщику" и продлением такого продукта будет заниматься задача планировщика. Данная ошибка означает, скорее всего, что на договоре был активирован какой-то продукт, но потом в модуле он был удален. SELECT * FROM inv_product as p LEFT JOIN inv_product_spec as s ON p.specId=s.id WHERE s.id IS NULL В недавних билдах запретили удалять продукт из модуля, если он уже был активирован на договоре. В новых билдах сделаем, чтобы в этом месте в такой же ситуации просто писал предупреждение одной строчкой. Премного благодарен. Доходчивое описание. Ошибка побеждена. Действительно, дело было в не правильном удалении продуктов с договора. |
Автор: | abu [ 02 авг 2016, 09:05 ] |
Заголовок сообщения: | Re: Ошибка в "Пролонгации подписок не в реальном времени" |
Появилась та же ошибка, на тестовом биллинге пробовал заводить по-разному продукты, наверное, что-то напутал, есть подозрение на то, что создавал персональные тарифные планы с модулем 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 |
Автор: | Amir [ 02 авг 2016, 15:33 ] |
Заголовок сообщения: | Re: Ошибка в "Пролонгации подписок не в реальном времени" |
Покажите ошибку полностью, возможно она немного другая. |
Автор: | abu [ 02 авг 2016, 18:27 ] |
Заголовок сообщения: | Re: Ошибка в "Пролонгации подписок не в реальном времени" |
А вот вся она такая, короткая. Мб, что-нибудь настроить для более подробного логирования (не знаю, что именно)? Причем, в первый раз ошибка была подробнее, но я порылся в настройках, добавил начало периода в одном из продуктов, удалил один "подозрительный" аккаунт, и стало вот так - коротко совсем. А подробный вариант пропал после перезагрузки, не думал, что станет совсем коротко, старый лог не сохранил. Попутно проверил персональные тарифы на старой виртуалке - все работает, дело не в них как таковых. Мб, повлиял такой порядок действий: - завел в тарифе продукты, все с нулевой оплатой - один из продуктов надо было сделать с не нулевой оплатой, но вспомнил я об этом уже тогда, когда принялся активировать продукты в договоре - когда вспомнил, открыл тариф, поменял оплату на продукте, при этом на договоре оставалась открытой закладка с добавлением продукта - потом продукт с измененной оплатой активировал на договоре, после активации за сутки сразу списалась АП (списание настраивал посуточное, такое, как обсуждали недавно) - на следующие сутки пошла ошибка |
Автор: | Amir [ 02 авг 2016, 21:38 ] |
Заголовок сообщения: | Re: Ошибка в "Пролонгации подписок не в реальном времени" |
Выложили обновление. |
Автор: | abu [ 03 авг 2016, 06:57 ] |
Заголовок сообщения: | Re: Ошибка в "Пролонгации подписок не в реальном времени" |
Ошибка ушла, спасибо. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |