Utilice el módulo de progtwigción para ejecutar en un momento dado

Estoy trabajando en un script de Python que debe ejecutarse entre dos veces. Debo usar el módulo de progtwigción sched , ya que esta secuencia de comandos debe poder ejecutarse directamente en cualquier máquina que tenga Python 2.7 para reducir el tiempo de configuración. (SO CRON NO ES UNA OPCION)

Algunas variables definen la configuración del tiempo de ejecución, aquí set_timer_start=0600 y set_timer_end=0900 están escritos en HHMM . Soy capaz de detener el guión en el momento adecuado.

No sé exactamente cómo funciona la progtwigción (la página de Python Doc no tiene mucho sentido para mí), pero, según tengo entendido, se ejecuta en una fecha / hora (época), mientras que solo quiero que se ejecute a una hora HHMM dado ( HHMM ).

¿Alguien puede darme un ejemplo (o enlace) sobre cómo usar el progtwigdor y tal vez calcular la próxima fecha / hora de ejecución?

    Si cumplí con sus requisitos correctamente, lo que necesita es probablemente un bucle, que volverá a ingresar una tarea en la cola cada vez que se ejecute. Algo a lo largo de las líneas de:

     # This code assumes you have created a function called "func" # that returns the time at which the next execution should happen. s = sched.scheduler(time.time, time.sleep) while True: if not s.queue(): # Return True if there are no events scheduled time_next_run = func() s.enterabs(time_next_run, 1, , ) else: time.sleep(1800) # Minimum interval between task executions 

    Sin embargo, el uso del planificador es – IMO – overkilling. El uso de objetos datetime podría ser suficiente, por ejemplo, una implementación básica sería:

     from datetime import datetime as dt while True: if dt.now().hour in range(start, stop): #start, stop are integers (eg: 6, 9) # call to your scheduled task goes here time.sleep(60) # Minimum interval between task executions else: time.sleep(10) # The else clause is not necessary but would prevent the program to keep the CPU busy. 

    HTH!