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

Проблемы с шедулером
http://forum.bitel.ru/viewtopic.php?f=22&t=11741
Страница 1 из 1

Автор:  mirk_st [ 28 июн 2016, 22:14 ]
Заголовок сообщения:  Проблемы с шедулером

1) Последние несколько дней стали наглухо зависать некоторые задачи шедулера.
Это происходит не со всеми задачами, чаще всего виснет "Задача установки статусов договоров" (Task: bitel.billing.server.contract.ContractStatusSetter)
В момент работы, а точнее зависания в логах scheduler.log scheduler.error.log тишина
Задача просто висит в планировщике и всё.


2) Помимо зависания при выполнении задачи "Обсчёт логов IPN" получаем дикое количество ошибок вида
Код:
scheduler 06-28/18:36:20 ERROR [pool-1-thread-5] LogCalculator - Tree not found for contract id: 238
scheduler 06-28/18:36:20 ERROR [pool-1-thread-5] LogCalculator - Tree not found for contract id: 238
scheduler 06-28/18:36:20 ERROR [pool-1-thread-5] LogCalculator - Tree not found for contract id: 238
scheduler 06-28/18:36:20 ERROR [pool-1-thread-5] LogCalculator - Tree not found for contract id: 238
scheduler 06-28/18:36:20 ERROR [pool-1-thread-5] LogCalculator - Tree not found for contract id: 238
scheduler 06-28/18:36:20 ERROR [pool-1-thread-5] LogCalculator - Tree not found for contract id: 238
scheduler 06-28/18:36:20 ERROR [pool-1-thread-5] LogCalculator - Tree not found for contract id: 238


Это видно в scheduler.log, scheduler.error.log и журналах отчета биллинга.

Советовать проверить тариф на наличие стоимости абонплаты не нужно. Там все есть.

Опытным путем удалось выяснить, что если у договора закрыт тариф в текущем месяце, то при запуске задачи "Обсчёт логов IPN" мы увидим id такого договора в error логах (как показано выше). Получается что невозможно оставить договор без активных тарифов не спровоцировав появление ошибки.

Версия биллинга 6.2, ос Debian, jdk1.8.0_91

Автор:  dimOn [ 28 июн 2016, 22:30 ]
Заголовок сообщения:  Re: Проблемы с шедулером

2)
Цитата:
Опытным путем удалось выяснить, что если у договора закрыт тариф в текущем месяце, то при запуске задачи "Обсчёт логов IPN" мы увидим id такого договора в error логах (как показано выше).
Очевидно, что неактивный по периоду тариф == отсутствие тарифа. А вы как хотели бы?
Цитата:
Получается что невозможно оставить договор без активных тарифов не спровоцировав появление ошибки.

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

Автор:  mirk_st [ 29 июн 2016, 14:07 ]
Заголовок сообщения:  Re: Проблемы с шедулером

C вопросом про ошибки в принципе понятно. По крайней мере это не сказывается на работе.

Подскажите как быть с "Задача установки статусов договоров". Виснет и всё тут.
Специально на время отключил запуск всех периодических задач, чтобы в лог ничего лишнего не падало. Перезапустил шедулер. После этого запустил задачу "Задача установки статусов договоров"

scheduler.log
Цитата:
06-29/00:50:40 INFO [Thread-13] TaskRunProcessor - Running Task: bitel.billing.server.contract.ContractStatusSetter
06-29/00:50:40 INFO [pool-1-thread-1] ContractStatusSetter - start task id => 8 at time 29.06.2016 00
06-29/00:50:40 DEBUG [pool-1-thread-1] EventProcessor - Add ru.bitel.bgbilling.kernel.contract.status.server.StatusCache$1@62b972ac to BG.Event.ru.bitel.bgbilling.kernel.event.events.system.ModuleConfi gModifiedEvent
06-29/00:50:41 INFO [pool-1-thread-1] ContractStatusSetter - Set contract hib87-13 status 0 from 28.06.2016
06-29/00:51:00 DEBUG [Thread-4] TaskExecuter - Looking tasks
06-29/00:52:00 DEBUG [Thread-4] TaskExecuter - Looking tasks
06-29/00:53:00 DEBUG [Thread-4] TaskExecuter - Looking tasks
и больше ничего


Задача продолжает висеть, никаких ошибок нет

Хуже всего что зависая "Задача установки статусов договоров" не даёт запускаться остальным тяжелым задачам. Очередь растёт.

Автор:  dimOn [ 29 июн 2016, 14:30 ]
Заголовок сообщения:  Re: Проблемы с шедулером

Билды последние?
в БД что в этот момент? Не висит ничего? (например запрос UPDATE contract SET status=?, status_date=? WHERE id=?)
в MQ что в этот момент? Не забито ничего?

Автор:  mirk_st [ 30 июн 2016, 19:33 ]
Заголовок сообщения:  Re: Проблемы с шедулером

Кажется разобрался.

Вся проблема в том что в настройках шедулера был указан не тот ActiveMQ что у сервера блиллинга.
Получалось что ActiveMQ не мог передать серверу биллинга сообщения от шедулера. Хотя часть задач кое-как работала и без этого, сообщения копились что в итоге привело к заполнению папки с очередями у ActiveMQ. После этого всё вообще перестало работать.

Как только настроили в шедулере верный ActiveMQ всё нормализовалось.

Автор:  Artur [ 01 июл 2016, 13:10 ]
Заголовок сообщения:  Re: Проблемы с шедулером

А зачем у вас несколько activemq?

Автор:  mirk_st [ 01 июл 2016, 14:55 ]
Заголовок сообщения:  Re: Проблемы с шедулером

Artur писал(а):
А зачем у вас несколько activemq?


Переносили сервер на другую машину, ActiveMQ на старой остался. А про настройки позабыли.

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