#!/usr/bin/env python
#Se importa date
from datetime import date
#Se importa Scheduler
from datetime import date
#Se importa Scheduler
from apscheduler.scheduler import Scheduler
#Se importa sleep
#Se importa sleep
from time import sleep
# Se instancia la clase scheduler
sched = Scheduler()
#Se inicia el scheduler
#Se inicia el scheduler
sched.start()
# Se define la función a ser ejecutada.
#La función toma un texto y lo presenta en pantalla.
#La función toma un texto y lo presenta en pantalla.
def Tarea(texto):
print texto
# La tarea será ejecutada el 19 de Julio de 2012.
fecha_ejecucion = date(2012, 07, 19)
# se alamacena la tarea en la variable tarea en caso que se quiera suspender
#Se le pasa la función Tarea, la fecha a ejecutar y los argumentos solicitados de la función
#Se le pasa la función Tarea, la fecha a ejecutar y los argumentos solicitados de la función
tarea = sched.add_date_job(Tarea, fecha_ejecucion, ['texto a escribir'])
#Se muestra las tareas definidas.
print sched.print_jobs()
#Se crea un ciclo de 10 iteraciones
#Donde se espera 60 minutos por cada iteracion
#Se muestra en pantalla las veces que se ejecuta.
for i in range(10):
print "---- %s" %i
sleep(3600)
#Se detiene el scheduler
#Se detiene el scheduler
sched.shutdown(wait=False)
Al ejecutar el programa se muestra lo siguiente:
Al ejecutar el programa se muestra lo siguiente:
ernesto@clara:~/bin/python/procesos$ sudo ./procesos3.py Jobstore default: Tarea (trigger: date[2012-07-19 00:00:00], next run at: 2012-07-19 00:00:00) None ---- 0 ---- 1 text ---- 2 ---- 3 ---- 4 ---- 5 ---- 6 ---- 7 ---- 8 ---- 9Con este artículo se muestra las tres formas de ejecutar procesos con APScheduler (ejecución periódica, estilo crond y ejecución en una fecha próxima).
No hay comentarios:
Publicar un comentario