Re: [zope-pt] Tarefas agendadas
| Existem os produto ZopeScheduller + TimerServer Correção para quem for Googlearpor aí: s/TimerServer/TimerService/ TimerServer é o nome do módulo .py dentro do produto TimerService. Buscas no Google vão encontrar TimerService, mais fácil ;o) [ Cleber J Santos ]: - | File |/home/vespa03/develope/instance/Products/PluggableAuthService/PluggableAuthService.py, |line 979, in __call__ |stack.append(resp._unauthorized) |AttributeError: TimerResponse instance has no attribute '_unauthorized' |-- |2007-05-11T14:54:00 INFO TimerService Ttimer tick at Fri May 11 |14:54:00 2007 | | |E o pior de tudo é que o atributo *_unauthorized* que ele reclama não |existir tá lá bonitinho no script *PluggableAuthService.py*... Cleber, note que o atributo _unauthorized não foi encontrado na instância de TimerResponse que está definida em ./timerserver/TimerServer.py:class TimerResponse(BaseResponse): ou seja, não está relacionado ao script *PluggableAuthService.py*. E TimerResponse define o método: def unauthorized(self): pass Talvez (??) seja suficiente definir: def _unauthorized(self): pass Eu nunca usei estes produtos, mas talvez este blá seja um empurrão na direção certa para vc resolver seu problema. Fiz o download do site [1] [1] http://www.brehault.net/plomino/download-1 Abração, Senra - Rodrigo Senra GPr Sistemas http://www.gpr.com.br
Re: [zope-pt] Tarefas agendadas
Jean Rodrigo Ferri wrote: Luciano Ramalho escreveu: Enfim, mesmo esta solução mais complexa não envolve nenhum produto especial instalado no Zope. Talvez algum colega possa te indicar um produto. Desconheço quais seriam as vantagens de usar um destes produtos, mas se alguém quiser explicar, vou gostar de aprender. Existem os produto ZopeScheduller + TimerServer que transformam o Zope em um servidor de agendamento de tarefas. Aparentemente a vantagem disso é você poder configurar os scripts que você quer rodar em períodos de tempo configuráveis, diretamente pela ZMI. O Zope 2.10 já traz um servidor temporal, basta habilitar o 'clock-server' no zope.conf. +1 para agendamentos via crontab. Abraço, Opa Jean, Luciano, Aproveitando que a conversa chegou até o *ZopeScheduller + TimerServer *, ao meu ver o produto tem um pequeno conflito com o Zope ainda pelo menos na versão 2.9, como ainda não testei com outras versões então não poderei dizer se realmente não funcione. A questão é que existem tarefas que ele até executa normalmente, mas tem vezes o produto em questão não executa, e verificando os logs (event.log) ele dá essa mensagem; -- 2007-05-11T14:54:00 ERROR BeforeTraverse Error while invoking hook: acl_users Traceback (most recent call last): File /home/vespa03/develope/zope296/lib/python/ZPublisher/BeforeTraverse.py, line 145, in __call__ meth(*(container, request, None)[:args]) File /home/vespa03/develope/instance/Products/PluggableAuthService/PluggableAuthService.py, line 979, in __call__ stack.append(resp._unauthorized) AttributeError: TimerResponse instance has no attribute '_unauthorized' -- 2007-05-11T14:54:00 INFO TimerService Ttimer tick at Fri May 11 14:54:00 2007 -- 2007-05-11T14:54:00 INFO ZopeScheduler Process timer tick at 2007/05/11 14:54:00.737 Universal E o pior de tudo é que o atributo *_unauthorized* que ele reclama não existir tá lá bonitinho no script *PluggableAuthService.py*... Bem queria colocar aqui essa questão por que pode ser que nosso amigo possa enfrentar o mesmo problema ;) At, -- #!/bin/bash # Name: Cleber J Santos # Email: [EMAIL PROTECTED] # Icq: 27837
Re: [zope-pt] Tarefas agendadas
On 5/18/07, Flavio Gomes da Silva Lisboa [EMAIL PROTECTED] wrote: Além de usar Ajax, Ajax ou Ajax, o Zope possui algum temporizador que permita a programação de tarefas por intervalos de tempo? Por exemplo, eu estabeleço que um determinado método será invocado a cada dez minutos. Existem produtos para fazer isso no Zope, só que eu não sei de cabeça nenhum nome para indicar, porque sempre que precisei fazer isso, usei ferramentas já disponíveis em qualquer ambiente Linux ou Unix. Basta criar um cron job que acione a cada dez minutos o wget ou o curl chamando a URL de qualquer método do seu Zope que seja acessível via web. Ou seja: uma linha no crontab, e está feito. Já desenvolvi muitos sites em Zope que usavam este mecanismo para se atualizar automaticamente. A vantagem desse método é evitar a dependência com algum produto específico para o Zope, e usar a infra-estrutura do SO que foi criada exatamente para esse tipo de coisa. [ ]s Luciano
Re: [zope-pt] Tarefas agendadas
Flavio, apenas para complementar, que tipo de tarefa você vai querer que o Zope realize periodicamente? Porque se a tarefa envolve o acesso a dados de outro servidor, posso sugerir uma extensão da minha sugestão anterior que é mais escalável. A questão é que o Zope normalmente utiliza poucas threads, e não vale a pena deixar uma destas threads em ponto morto esperando por uma resposta de um servidor remoto. Então o melhor a fazer é usar o cron para acionar um script Python, independente do Zope, que puxe os dados remotos e salve no disco localmente. Uma vez com os dados na mesma máquina, aí sim o seu script Python aciona uma URL no Zope para que o Zope leia os dados. Desta maneira, se o servidor remoto demorar muito para responder, quem vai ficar esperando é o seu script, que quase certamente consome bem menos memória que uma thread do Zope. Enfim, mesmo esta solução mais complexa não envolve nenhum produto especial instalado no Zope. Talvez algum colega possa te indicar um produto. Desconheço quais seriam as vantagens de usar um destes produtos, mas se alguém quiser explicar, vou gostar de aprender. [ ]s Luciano
Re: [zope-pt] Tarefas agendadas
Luciano Ramalho escreveu: Enfim, mesmo esta solução mais complexa não envolve nenhum produto especial instalado no Zope. Talvez algum colega possa te indicar um produto. Desconheço quais seriam as vantagens de usar um destes produtos, mas se alguém quiser explicar, vou gostar de aprender. Existem os produto ZopeScheduller + TimerServer que transformam o Zope em um servidor de agendamento de tarefas. Aparentemente a vantagem disso é você poder configurar os scripts que você quer rodar em períodos de tempo configuráveis, diretamente pela ZMI. O Zope 2.10 já traz um servidor temporal, basta habilitar o 'clock-server' no zope.conf. +1 para agendamentos via crontab. Abraço, -- Jean Ferri