2009-05-11 12 views
1

Ich habe Probleme mit OpenX; Hier ist das ProblemWie mit OpenX XMLRPC Authentifizierung/Sitzungen umgehen

OpenX :: Services :: Base.connection gibt die Klassenvariable @@ Verbindung zurück, die von OpenX :: Services :: Base.connection aufgefüllt wird, wenn es zuvor nicht initialisiert wurde.

Das Problem, dass es eine Klassenvariable ist, besteht darin, dass es über Verbindungen besteht, was bedeutet, wenn die Aktivität unterbrochen wird, die XMLRPC-Sitzung zwischen meiner Site und OpenX Timeout und die OpenX API keine Bedingungen für die Kommunikation hat eine abgelaufene Sitzung, die ohnehin verschwenderisch wäre, da vor jeder Kommunikation eine Anfrage erforderlich wäre, nur um zu überprüfen, ob die Sitzung noch gültig war.

Was ich denke, wäre ein besserer Weg, um eine Verbindung zu Beginn jeder Anfrage, die OpenX-Unterstützung benötigt, zu instantiieren und am Ende zu schließen, um sicherzustellen, dass es keine Möglichkeit einer Sitzungszeit gibt -out auf der XMLRPC-Seite der Dinge.

Hat jemand anderes dies bei der Verwendung von OpenX/OpenX XMLRPC erreicht? Wenn ja, wie haben Sie dieses Problem gelöst?

Antwort

2

Ich habe einen try/catch-Block um den OpenX-RPC-Aufruf, und ich schrieb einen Ausnahmeübersetzer. Wenn ich ein Session-Timeout feststelle, führe ich erneut die Login-Operation aus, ich nehme die neue Session-ID und ich werde den fehlgeschlagenen OpenX-Aufruf erneut ausführen. Es ist ein wenig komplizierter als einen Cron-Job zu haben, um die Sitzung am Leben zu erhalten, aber leistungsfähiger und robuster (meiner Meinung nach).

0

Wir standen vor dem gleichen Problem. Unsere Lösung: Erstellen Sie einen nicht authentifizierten Controller, der einige einfache Interaktionen mit der OpenX-API durchführt (nur um sie live zu halten) und diese URL alle 5 bis 10 Minuten von einem Cron-Job aufgerufen wird.

Welche Lösung haben Sie verwendet?