Come non trattare con OpenX XMLRPC di autenticazione / sessioni

voti
1

Sto avendo difficoltà con OpenX; qui è il problema

OpenX :: Servizi :: Base.connection restituisce la variabile @@ collegamento classe che è popolata da OpenX :: Servizi :: Base.connection se non è già stata inizializzata.

Il problema con esso che è una variabile di classe è che persiste attraverso connessioni, il che significa che se c'è una pausa di attività, la sessione XMLRPC tra il mio sito e OpenX andrà in timeout, e l'API OpenX non ha disposizioni per la comunicazione di una sessione scaduta, che sarebbe uno spreco comunque in quanto richiederebbe una richiesta prima di ogni comunicazione solo per verificare che la sessione è stata ancora valida.

Quello che penso sarebbe un modo migliore per farlo sarebbe quello di creare un'istanza di un collegamento all'inizio di qualsiasi richiesta che ha bisogno di sostegno OpenX, e per chiuderla alla fine, garantendo che non v'è alcuna possibilità di un time-out sessione sul lato XMLRPC delle cose.

Qualcun altro ha encounted questo quando si utilizza OpenX / OpenX XMLRPC? Se sì, come hai fatto a risolvere questo problema?

È pubblicato 11/05/2009 alle 21:54
fonte dall'utente
In altre lingue...                            


2 risposte

voti
0

Abbiamo affrontato lo stesso problema. La nostra soluzione: creare un controller non autenticato che fa alcune semplici interazioni con l'API OpenX (solo per tenerlo vivo) e hanno questo URL invocato da un job cron ogni 5-10 minuti.

Quale soluzione avete usato?

Risposto il 10/09/2009 a 07:33
fonte dall'utente

voti
2

Ho un blocco try / catch in tutto il chiamata RPC OpenX, e ho scritto un traduttore un'eccezione. Se rilevo un timeout di sessione io eseguirò un nuovo l'operazione di login, mi prenderò il nuovo id di sessione e correrò di nuovo la chiamata OpenX fallito. E 'un po' più complicato di avere un lavoro cron al fine di mantenere in vita, ma più performante e robusto (a mio parere) la sessione.

Risposto il 04/10/2011 a 10:00
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more