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/