Re: [Python-es] Ejecutar una función cada cierto tiemp o
On Thu, 17 Jun 2010 18:03:53 +0200 Jesús Genicio wrote: if __name__ == __main__: try: a = App() gobject.timeout_add( 1000, a.imprime) gtk.main() except KeyboardInterrupt: pass Y me da la temperatura una vez, pero ya no más. Veamos la documentación: http://library.gnome.org/devel/pygobject/stable/glib-functions.html#function-glib--timeout-add The function is called repeatedly until it returns FALSE, at which point the timeout is automatically destroyed and the function will not be called again. Es decir, sólo tienes que hacer un return True al final de imprime. [adjuntos grandecitos] No soy administrador de la lista, pero diría que es preferible subir código e imágenes a servicios externos y enlazar (especialmente si son imágenes) arnau ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] ejecutar una función cada cierto tiemp o.
Probablemente necesitas un sistema de scheduling independiente de la tu aplicación, yo he probado Kronos: http://www.razorvine.net/download/kronos.py que básicamente es un componente de TurboGears que han extraido y aislado. Funciona muy bien. Un saludo. On 15/04/2010 17:57, Boris Perez Canedo wrote: Hola a todos. Necesito hacer un script que corra constantemente y cada cierto tiempo ejecute una función: Se que podría utilizar al s.o. (programar una tarea) pero me interesa hacerlo con python porque es parte de un sistema que estoy haciendo y ha de funcionar en cualquier s.o. La idea que tengo es la siguiente: En un archivo de configuración tengo el día de la semana y la hora en que ha de correrse la función, sería algo así: 0-08:00:00 ó 3600 Con expresiones regulares separo el día de la semana (en este caso 0 es Lunes) y la hora (08:00:00). Podría solo aparecer un número, en este caso significa que la función se correrá una vez que transcurra ese tiempo en segundos. Para el segundo caso me resulta sencillo hacerlo y sería algo como esto: def funcion(): hacer algo def Para2doCaso(conf_file): while True: dia, hora = obtener_config(conf_file) if hora == : #estamos en el segundo caso (dia contiene los segundos a esperar). funcion() # ejecuto mi funcion time.sleep(int(dia)) # espero else: # aqui viene la otra forma de configuracion y mi duda. Pongo dentro del ciclo dia, hora = obtener_config(conf_file) porque aunque es cierto que en el segundo caso puede llegar a ejecutarse la función cada, por ejemplo, 1 segundo, no es lo común, lo normal es que se ejecute de 30 o 40 minutos en adelante y necesito que sea revisada la configuración ya que puede llegarse a cambiar en ese tiempo. Gracias por adelantado. Saludos, Boris. La mejor vacuna contra el virus A(H1N1) es la higiene personal ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/ -- José María Ruiz Aguilera Simple Option S.L.U. ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] ejecutar una función cada cierto tiemp o.
On 15/04/10 18:57, Boris Perez Canedo wrote: Necesito hacer un script que corra constantemente y cada cierto tiempo ejecute una funci�n: Dale un vistazo a este paquete y nos cuentas: http://packages.python.org/APScheduler/� Muchas Gracias. Voy a revisarlo. --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
[Python-es] ejecutar una función cada cierto tiemp o.
Hola a todos. Necesito hacer un script que corra constantemente y cada cierto tiempo ejecute una funci�n: Se que podr�a utilizar al s.o. (programar una tarea) pero me interesa hacerlo con python porque es parte de un sistema que estoy haciendo y ha de funcionar en cualquier s.o. La idea que tengo es la siguiente: En un archivo de configuraci�n tengo el d�a de la semana y la hora en que ha de correrse la funci�n, ser�a algo as�: 0-08:00:00 � 3600 Con expresiones regulares separo el d�a de la semana (en este caso 0 es Lunes) y la hora (08:00:00). Podr�a solo aparecer un n�mero, en este caso significa que la funci�n se correr� una vez que transcurra ese tiempo en segundos. Para el segundo caso me resulta sencillo hacerlo y ser�a algo como esto: def funcion(): �� hacer algo def Para2doCaso(conf_file): � ��� while True: dia, hora = obtener_config(conf_file) if hora == : �� #estamos en el segundo caso (dia contiene los segundos a esperar). �� funcion() # ejecuto mi funcion �� time.sleep(int(dia)) # espero else: ��� # aqui viene la otra forma de configuracion y mi duda. Pongo dentro del ciclo dia, hora = obtener_config(conf_file) porque aunque es cierto que en el segundo caso puede llegar a ejecutarse la funci�n cada, por ejemplo, 1 segundo, no es lo com�n, lo normal es que se ejecute de 30 o 40 minutos en adelante y necesito que sea revisada la configuraci�n ya que puede llegarse a cambiar en ese tiempo. Gracias por adelantado. Saludos, Boris. �� ��� �� --- La mejor vacuna contra el virus A(H1N1) es la higiene personal ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
Re: [Python-es] ejecutar una función cada cierto tiemp o.
On 15/04/10 18:57, Boris Perez Canedo wrote: Necesito hacer un script que corra constantemente y cada cierto tiempo ejecute una función: Dale un vistazo a este paquete y nos cuentas: http://packages.python.org/APScheduler/ ___ Python-es mailing list Python-es@python.org http://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/