Como lidar com OpenX XMLRPC de autenticação / sessões
Pergunta
Estou tendo problemas com o OpenX; aqui é a questão
OpenX :: Serviços :: Base.connection retorna a variável de classe @@ conexão que é povoada por OpenX :: Serviços :: Base.connection se nunca tiver sido inicializado.
O problema com ele sendo uma variável de classe é que ele persiste através de conexões, o que significa que há uma calmaria na atividade, a sessão XMLRPC entre o meu site e OpenX irá expirar, ea API OpenX não tem provisões para comunicar uma sessão expirada, o que seria um desperdício de qualquer maneira, uma vez que exigiria um pedido antes de cada comunicação apenas para verificar se a sessão ainda era válido.
O que eu acho que seria a melhor maneira de fazê-lo seria instanciar uma ligação no início de qualquer pedido que necessita de apoio OpenX, e fechá-lo no final, garantindo que não há possibilidade de um tempo- sessão para fora no lado do XMLRPC das coisas.
Tem mais alguém encounted isso quando usando OpenX / OpenX XMLRPC? Se assim como você resolver esse problema?
Solução
Eu tenho um bloco try / catch em torno da chamada OpenX RPC, e eu escrevi um tradutor exceção. Se eu detectar uma sessão de tempo limite vou executar uma vez a operação de login, eu tomarei a nova ID de sessão e eu vou correr a chamada OpenX falhou novamente. É um pouco mais complicado do que ter um trabalho cron, a fim de manter a sessão viva, mas de maior performance e robusta (na minha opinião).
Outras dicas
Nós enfrentamos o mesmo problema. Nossa solução: criar um controlador não autenticado que faz algumas interações simples com a API OpenX (apenas para mantê-lo vivo) e ter esta URL invocado por um trabalho cron a cada 5-10 min
.Que solução você usou?