Executar funções a cada intervalo de tempo pré definido

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Executar funções a cada intervalo de tempo pré definido

Bruno Barbosa-2
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...

Reply | Threaded
Open this post in threaded view
|

Re: Executar funções a cada intervalo de tempo pré definido

Danillo Souza
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 <[hidden email]> 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
[hidden email]
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]



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

,-----------------------------------------------------------.
| 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:
    [hidden email]

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


Reply | Threaded
Open this post in threaded view
|

Re: Executar funções a cada intervalo de tempo pré definido

Luciano Ramalho
In reply to this post by Bruno Barbosa-2
2010/8/30 Bruno Barbosa <[hidden email]>:
> 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
Reply | Threaded
Open this post in threaded view
|

Re: Executar funções a cada intervalo de tempo pré definido

Danillo Souza
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 <[hidden email]> escreveu:

>
>
> 2010/8/30 Bruno Barbosa <[hidden email] <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
[hidden email]
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]



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

,-----------------------------------------------------------.
| 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:
    [hidden email]

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


Reply | Threaded
Open this post in threaded view
|

Re: Executar funções a cada intervalo de tempo pré definido

Paulo Eduardo Neves-3
In reply to this post by Danillo Souza
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

Em 30 de agosto de 2010 16:25, Danillo Souza <[hidden email]> escreveu:

> 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 <[hidden email]> 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
> [hidden email]
> 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]
>
>
>
> ------------------------------------
>
> ,-----------------------------------------------------------.
> | 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
>
>
>



--
Paulo Eduardo Neves
http://www.MOSQUITO.PRO.br
Reply | Threaded
Open this post in threaded view
|

Re: Executar funções a cada intervalo de tempo pré definido

Baiano (André)
In reply to this post by Bruno Barbosa-2
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 <[hidden email]> 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]

Reply | Threaded
Open this post in threaded view
|

Re: Executar funções a cada intervalo de tempo pré definido

Bruno Barbosa-2
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 <[hidden email]> 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 <[hidden email]<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
# ---------------------------------------


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



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

,-----------------------------------------------------------.
| 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:
    [hidden email]

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