[python-brasil] Executar funções a cada intervalo de tempo pré definido

2,958 views
Skip to first unread message

Bruno Barbosa

unread,
Aug 30, 2010, 2:00:06 PM8/30/10
to python...@yahoogrupos.com.br
Olá galera,

Existe alguma biblioteca ou função em python que execute uma determinada função ou classe a cada 1 segundo por exemplo?

uma espécie de timer...

------------------------------------

,-----------------------------------------------------------.
| Antes de enviar um e-mail para o grupo leia: |
| http://www.pythonbrasil.com.br/moin.cgi/AntesDePerguntar |
| E se você é usuário do BOL lembre-se de cadastrar o |
| e-mail do grupo na lista branca do seu sistema anti-spam. |
`-----------------------------------------------------------´Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/python-brasil/

<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html


Luciano Ramalho

unread,
Aug 30, 2010, 3:59:37 PM8/30/10
to python...@yahoogrupos.com.br
2010/8/30 Bruno Barbosa <bsbr...@gmail.com>:

> Existe alguma biblioteca ou função em python que execute uma determinada função ou classe a cada 1 segundo por exemplo?
>
> uma espécie de timer...

Existem várias formas de fazer isso, mas se você não nos contar qual é
o contexto, fica impossível recomendar a melhor maneira. É para uma
aplicação GUI? Web? Console? Game?

--
Luciano Ramalho
programador repentista || stand-up programmer
Twitter: @luciano

Danillo Souza

unread,
Aug 30, 2010, 4:03:03 PM8/30/10
to python...@yahoogrupos.com.br
Ops, mal ae, aquela dica do link que enviei, testei aqui e não funcionou.

Se puder dizer qual o objetivo de fazer isso, em qual tipo de aplicação você
pretende implementar isso,
as coisas podem ficar mais fáceis de se resolver.

Em 30 de agosto de 2010 16:59, Luciano Ramalho <ram...@gmail.com> escreveu:

>
>
> 2010/8/30 Bruno Barbosa <bsbr...@gmail.com <bsbruno1%40gmail.com>>:


>
> > Existe alguma biblioteca ou função em python que execute uma determinada
> função ou classe a cada 1 segundo por exemplo?
> >
> > uma espécie de timer...
>
> Existem várias formas de fazer isso, mas se você não nos contar qual é
> o contexto, fica impossível recomendar a melhor maneira. É para uma
> aplicação GUI? Web? Console? Game?
>
> --
> Luciano Ramalho
> programador repentista || stand-up programmer
> Twitter: @luciano
>
>
>

--
*________________________________*
***Danillo Souza*, INFOinvest - Web Developer
*Bowne do Brasil*
*Office *Praia de Botafogo, 440 - 22° Andar
22250-908 Rio de Janeiro, Brazil
*Phone* +55 21 2103 0512
danill...@bowne.com
www.INFOinvest.com.br<https://outlook.bowne.com/exchweb/bin/redir.asp?URL=http://www.infoinvest.com.br/>


[As partes desta mensagem que não continham texto foram removidas]

Danillo Souza

unread,
Aug 30, 2010, 3:25:40 PM8/30/10
to python...@yahoogrupos.com.br
http://docs.python.org/release/2.5.2/lib/timer-objects.html

<http://docs.python.org/release/2.5.2/lib/timer-objects.html>Pegar isso e
colocar dentro de um while é uma boa.


Em 30 de agosto de 2010 15:00, Bruno Barbosa <bsbr...@gmail.com> escreveu:

>
>
> Olá galera,
>
> Existe alguma biblioteca ou função em python que execute uma determinada
> função ou classe a cada 1 segundo por exemplo?
>
> uma espécie de timer...
>
>
>

--

*________________________________*
***Danillo Souza*, INFOinvest - Web Developer
*Bowne do Brasil*
*Office *Praia de Botafogo, 440 - 22° Andar
22250-908 Rio de Janeiro, Brazil
*Phone* +55 21 2103 0512
danill...@bowne.com
www.INFOinvest.com.br<https://outlook.bowne.com/exchweb/bin/redir.asp?URL=http://www.infoinvest.com.br/>


[As partes desta mensagem que não continham texto foram removidas]

------------------------------------

Paulo Eduardo Neves

unread,
Aug 30, 2010, 4:22:27 PM8/30/10
to python...@yahoogrupos.com.br
Legal, não conhecia este Timer. Bruno, note que este Timer acontece em
uma thread separada, portanto você terá que se preocupar em
sincronizar o acesso aos dados acessados pela Thread. É poderoso, mas
pode ser um pouco complicado demais.

Dois outros caminhos seriam:
1) usar a função time.sleep, este é bom se única coisa que seu
programa fizer seja rodar sua função em determinados intervalos. Mas
aí talvez seja melhor usar o cron ou algo parecido.
2) usar o signal.settimer. Este não tem problemas de sincronização de
threads e é fácil de usar:
http://docs.python.org/library/signal.html#signal.setitimer

--
Paulo Eduardo Neves
http://www.MOSQUITO.PRO.br

André Moraes

unread,
Sep 1, 2010, 8:51:03 AM9/1/10
to python...@yahoogrupos.com.br
Olá Bruno

Existe uma maneira simples de executar esta rotina.

Código exemplo:

import time
import threading

class Timer(threading.Thread):
def __init__(self, segundos):
self.runTime = segundos
threading.Thread.__init__(self)
def run(self):
time.sleep(self.runTime)
print "Executado!"

t = Timer(10)
t.start()

Em 30 de agosto de 2010 15:00, Bruno Barbosa <bsbr...@gmail.com> escreveu:

>
>
> Olá galera,
>
> Existe alguma biblioteca ou função em python que execute uma determinada
> função ou classe a cada 1 segundo por exemplo?
>
> uma espécie de timer...
>
>
>

--
André Leandro de Oliveira Moraes
Desenvolvedor de Sistemas
(48) 9138-8383


[As partes desta mensagem que não continham texto foram removidas]

------------------------------------

Bruno Barbosa

unread,
Sep 2, 2010, 3:03:57 PM9/2/10
to python...@yahoogrupos.com.br
Opa,

A demora para responder foi devido a alguns problemas pessoais.
Obrigado pelas dicas.

André, era exatamente isso que eu estava procurando.
Vou dar mais algumas estudadas nas bibliotecas e adaptar ao meu uso.

Muito obrigado a todos.

Até mais.


Em 1 de setembro de 2010 09:51, André Moraes <andr...@gmail.com> escreveu:

>
>
> Olá Bruno
>
> Existe uma maneira simples de executar esta rotina.
>
> Código exemplo:
>
> import time
> import threading
>
> class Timer(threading.Thread):
> def __init__(self, segundos):
> self.runTime = segundos
> threading.Thread.__init__(self)
> def run(self):
> time.sleep(self.runTime)
> print "Executado!"
>
> t = Timer(10)
> t.start()
>
>

> Em 30 de agosto de 2010 15:00, Bruno Barbosa <bsbr...@gmail.com<bsbruno1%40gmail.com>>


> escreveu:
>
> >
> >
> > Olá galera,
> >
> > Existe alguma biblioteca ou função em python que execute uma determinada
> > função ou classe a cada 1 segundo por exemplo?
> >
> > uma espécie de timer...
> >
> >
> >
>
> --
> André Leandro de Oliveira Moraes
> Desenvolvedor de Sistemas
> (48) 9138-8383
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>

--
# ---------------------------------------
# Bruno Barbosa
# Seja livre - Use Linux!!!
# http://algoritmizando.com
# http://twitter.com/bruninbsb
# ---------------------------------------

Reply all
Reply to author
Forward
0 new messages