[ "Luciano Ramalho" <[EMAIL PROTECTED]> ]:
----------------------------------------
|  Vamos chamar este processo independente de gandula (aquele cara que recupera
|  as bolas, de forma assíncrona -- sem interromper o jogo).

 Luciano Ramalho -- o Rei das metáforas. Absolutamente show!

|  O Zope coloca as  requisições que precisam ser feitas em uma fila (um DB 
relacional é ótimo
|  para isso), e o gandula verifica esta fila periodicamente (pode ser uma vez
|  por segundo), para ver se tem requisições pendentes. Para cada uma delas, o
|  gandula faz o acesso ao servidor externo, e de posse do resultado, acessa o
|  Zope via HTTP POST para entregar os dados recebidos. Assim, nenhuma thread
|  do Zope fica parada esperando o resultado. Se o gandula têm muita demanda, é
|  melhor não enfileirar os requests porque se não basta um servidor demorar
|  para responder para o backlog inchar. O ideal é dispará-los de forma
|  assíncrona. Para isso, vale a pena usar o módulo Asyncore ou o framework
|  Twisted para implementar um gandula mais eficiente.

 Gostaria de sugerir um "gândula de pelada [1]".
 Um pequeno script com a URI fonte dos dados (hardcoded), 
 usando urllib2 para buscar os dados, BeautifulSoup para filtrar
 e xmlrpclib para repassar para um Python Script dentro do Zope.

 Talvez seja mais fácil de implementar em uma primeira abordagem,
 mas isso naturalmente depende do odômetro do desenvolvedor.

 [1] Pelada -- para quem não sabe é uma modalidade não-profissional
     de futebol jogada por não-profissionais.
     Não tem nada a ver com entidades femininas desnudas, 
     ainda que a interpretação errônea, talvez, não fosse falsa 
     na grécia antiga ou em alguma casa de lobby moderna. 

Abração,
Senra

-------------
Rodrigo Senra
GPr Sistemas

Responder a