2009-05-11 2 views
1

У меня возникают проблемы с Openx; здесь возникает вопросКак работать с OpenX XMLRPC аутентификацией/сеансами

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

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

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

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

ответ

2

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

0

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

Какое решение было у вас?