Size: a a a

2020 January 12

AD

Alexander (SawJ) Derebizov in Nag.Ru
Максим Фадин
Пофиг на репликацию, чтение не запись или обновление, много ресурсов мускула не тратит.

Мне важен факт реализации, что бы биллинг не занимался разрывом сессии, а это все делал сам радиус.
В каком плане биллинг не занимался разрывом сессий?
ну а кто coa там или pod посылать будет?
Вернее на основе каких значений? Денежек там к примеру или ещё чего?
Если нужно по времени то нужно просто использовать нужные атрибуты радиуса что бы сконфигурить брас session-timeout к примеру
источник

AD

Alexander (SawJ) Derebizov in Nag.Ru
не понятна задача
источник

S

Sergey in Nag.Ru
во фрирадиусе нет встроенной функции периодического поллинга БД на предмет поиска изменений и отправки чего-либо. это делается тривиально внешним скриптом (другой вопрос - как определить изменения БД по сравнению с прошлым проходом)
источник

S

Sergey in Nag.Ru
если БД биллинга совсем убогая и хранит только актуальные (последние значения), то можно повесить sql-процедуру на insert/delete и сохранять с помощью неё
источник

МФ

Максим Фадин in Nag.Ru
Sergey
по сути - если данные пишутся в бд, то вопрос как именно - есть ли таблица изменений?
Зачем изменения, радиус же работает со своей таблицей, биллинг может там данные менять как нужно.
источник

МФ

Максим Фадин in Nag.Ru
Sergey
или есть только актуальная таблица со скоростями?
Там же все в одной ароде у него.
источник

S

Sergey in Nag.Ru
радиус обращается к таблицам только когда к нему приходят входящие запросы (auth или acct)
источник

МФ

Максим Фадин in Nag.Ru
Alexander (SawJ) Derebizov
В каком плане биллинг не занимался разрывом сессий?
ну а кто coa там или pod посылать будет?
Вернее на основе каких значений? Денежек там к примеру или ещё чего?
Если нужно по времени то нужно просто использовать нужные атрибуты радиуса что бы сконфигурить брас session-timeout к примеру
Нужно не рвать сессию, если юзер включен в БД, а просто обновить конфигурацию юзера, например скорость.

Если выключен, то рвать сессию уже.
источник

AD

Alexander (SawJ) Derebizov in Nag.Ru
ну для это и есть coa
источник

МФ

Максим Фадин in Nag.Ru
Alexander (SawJ) Derebizov
не понятна задача
Задача такова что бы бил нг просто писал данные в таблицу радиуса, а тот все делал сам, и биллингу не нужно было ходить на брас для разрыва сессии например.
источник

AD

Alexander (SawJ) Derebizov in Nag.Ru
это радиус запрос - не от самого радиуса
источник

AD

Alexander (SawJ) Derebizov in Nag.Ru
а кто и на каком событии пошлет coa по сути второе
источник

S

Sergey in Nag.Ru
Максим Фадин
Задача такова что бы бил нг просто писал данные в таблицу радиуса, а тот все делал сам, и биллингу не нужно было ходить на брас для разрыва сессии например.
в sql (ну по крайней мере в обычных) нет нотификаций приложений
источник

S

Sergey in Nag.Ru
то что вы хотите можно в принципе сделать через trigger на inset/update
источник

S

Sergey in Nag.Ru
какая бд?
источник

S

Sergey in Nag.Ru
радиус не может сам узнать что в бд появилось изменение (надо поллить периодически для этого бд)
источник

МФ

Максим Фадин in Nag.Ru
Sergey
во фрирадиусе нет встроенной функции периодического поллинга БД на предмет поиска изменений и отправки чего-либо. это делается тривиально внешним скриптом (другой вопрос - как определить изменения БД по сравнению с прошлым проходом)
Просто по таймауту обновлять всех.
Логичнее что бы клиент радиуса раз в N времени спрашивал его, а тот в БД глядел.
источник

S

Sergey in Nag.Ru
да, в приницпе в ISG-like моделях можно так сделать
источник

S

Sergey in Nag.Ru
чтобы bras регулярно спрашивал радиус сервисы
источник

AD

Alexander (SawJ) Derebizov in Nag.Ru
не, нелогично... но то что вы хотите по сути можно сделать заставив брас переавторизоваться к примеру
источник