Как справиться с аутентификацией OpenX XMLRPC / сеансами

StackOverflow https://stackoverflow.com/questions/850452

  •  21-08-2019
  •  | 
  •  

Вопрос

У меня возникли проблемы с Openx;вот в чем проблема

OpenX::Services::Base.connection возвращает переменную класса @@connection, которая заполняется OpenX::Services::Base.connection, если она ранее не была инициализирована.

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

Я думаю, что лучшим способом сделать это было бы создать экземпляр соединения в начале любого запроса, которому требуется поддержка OpenX, и закрыть его в конце, гарантируя отсутствие возможности тайм-аута сеанса на стороне XMLRPC.

Кто-нибудь еще сталкивался с этим при использовании OpenX / OpenX XMLRPC?Если да, то как вы решили эту проблему?

Это было полезно?

Решение

У меня есть блок try / catch вокруг вызова OpenX RPC, и я написал переводчик исключений.Если я обнаружу тайм-аут сеанса, я снова выполню операцию входа в систему, я получу новый идентификатор сеанса и снова запущу неудачный вызов OpenX.Это немного сложнее, чем выполнение задания cron для поддержания работоспособности сеанса, но более производительно и надежно (на мой взгляд).

Другие советы

Мы столкнулись с одной и той же проблемой.Наше решение:Создайте не прошедший проверку подлинности контроллер, который выполняет несколько простых взаимодействий с OpenX API (просто для поддержания его в рабочем состоянии), и этот URL-адрес вызывается заданием cron каждые 5-10 минут.

Какое решение вы использовали?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top