BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
СообщениеДобавлено: 20 июн 2011, 13:29 
Не в сети
Клиент

Зарегистрирован: 27 окт 2009, 16:17
Сообщения: 319
Откуда: Иркутск
Карма: 18
Всем здравствуйте.

Имеем следующий набор
Клиент: вер. 5.1 сборка 544 от 14.06.2011 11:40:09
Сервер: вер. 5.1 сборка 665 от 14.06.2011 11:39:55
ipn вер. 5.1 сборка 237 от 26.05.2011 11:26:59
Шлюз написан на Java. Ходит на Cisco и посылает команды.

После обновления на сборку 237 для ipn и 665 для сервера стал замечать, что статус шлюза в БГ меняется, а вот сам шлюз некоторых моментах не отрабатывает.
При каких событиях не срабатывает шлюз:
- изменение лимита (приход платежа)
- изменение статуса договора (приостановлен .... )

Наш шлюз пишет лог кого, когда, какие команды отправлялись с помощью log4j. В этих случаях в логах ничего нет о работе шлюза и на оборудование команды не приходили.

Если ручками переключить шлюз - то все работает. Статус меняется, шлюз отрабатывает, команды уходят.


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

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

В сборке 235 поменяли
"Статус шлюза теперь не меняется синхронно при обработке смены статуса договора. Иначе обработчик событий подвисал, если подвисали шлюзы. "

Т.е теперь статус договора меняется , то шлюз не сразу отрабатывает . Он должен отрабатывать в задаче проверки шлюзов .


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 июн 2011, 14:36 
Не в сети
Клиент

Зарегистрирован: 27 окт 2009, 16:17
Сообщения: 319
Откуда: Иркутск
Карма: 18
Задача запущена.
Но Задача работает 1 раз в сутки и по выходным не работает.
О том, что статус шлюза меняется не синхронно - я прочитал, но не подумал, что задача проверки шлюзов восстанавливает справедливость.
На самом деле это очень неудобно и получается на статус шлюза нельзя положиться.
Необходимо пойти и проверить, а выполнился ли сам шлюз.
Перестроить расписание задачи проверки шлюзов - добавить нагрузку на оборудование.

Почему бы не задействовать в этом случае ActiveMQ и слать туда сообщение, чтобы асинхронно выполнился сам шлюз, а не ждать "задачи".


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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 июн 2011, 17:19 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Странно, я когда прочитал про асинхронность, тоже подумал, что выполняется сразу, но отдельным тредом. Порадовался ещё тогда :)
А отдельным потоком нельзя сделать?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 июн 2011, 18:26 
Не в сети
Клиент

Зарегистрирован: 27 окт 2009, 16:17
Сообщения: 319
Откуда: Иркутск
Карма: 18
Цитата:
А отдельным потоком нельзя сделать?

Присоединяюсь к вопросу.


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

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

Присоединяюсь к вопросу.



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


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

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Не уточнил - в шедулере отдельным потоком естественно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 июн 2011, 07:33 
Не в сети
Клиент

Зарегистрирован: 27 окт 2009, 16:17
Сообщения: 319
Откуда: Иркутск
Карма: 18
Если есть проблемы с тем, чтобы вынести работу шлюза в отдельный поток, то давайте сделаем текущую работу шлюза опционально.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 июн 2011, 12:21 
Не в сети
Разработчик

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

И добавил параметр gate.contract.timeout - timeout работы шлюза, действующий при смене статуса шлюза для одного договора. при по умолчанию 1800000 ( 30 мин ).


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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 июн 2011, 17:15 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Обновились, проверили - ок.


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

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


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

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


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

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