Programar en Python
- Instale la biblioteca de horarios en Python
- Usar segundos como intervalo para programar un trabajo periódicamente
- Use minutos, horas y días como intervalo para programar un trabajo periódicamente
-
Usar el tiempo en formato
HH:MM
como intervalo para programar un trabajo periódicamente - Utilice el decorador de funciones para programar un trabajo
Este tutorial demostrará el paquete Schedule en Python para programar trabajos periódicamente después de un intervalo de tiempo específico.
Schedule es una biblioteca de programador de procesos livianos en Python que se usa para programar una tarea para que se ejecute periódicamente en un intervalo de tiempo específico.
Podemos llamar a una función o a cualquier objeto al que se pueda llamar usando una sintaxis humana para automatizar tareas como enviar correos electrónicos, configurar un recordatorio, obtener el precio de una moneda o bitcoin periódicamente.
Instale la biblioteca de horarios en Python
Primero tenemos que instalar este paquete usando el siguiente comando para usarlo.
#Python 3.x
pip install schedule
Para programar un trabajo, usamos la siguiente sintaxis.
Sintaxis:
# Python 3.x
Schedule.every(interval).[timeframe].do(function)
Parámetros:
- El
intervalo
puede ser cualquier número entero. - El
período de tiempo
puede ser segundos, minutos, horas, días o incluso el nombre de los días de la semana como lunes, martes, etc. - El método
do()
toma el nombre de la función como argumento para programar.
Usar segundos como intervalo para programar un trabajo periódicamente
Tenemos un método llamado tarea
en el siguiente código, programado para ejecutarse periódicamente cada cinco segundos. Definimos el intervalo de tiempo (cinco segundos en nuestro caso) como argumento del método every()
.
Especificamos la función a programar como argumento del método do()
que se ejecuta automáticamente una vez que la máquina alcanza el tiempo especificado. Finalmente, ejecutamos la función run_pending()
en el bucle while
para ejecutar los trabajos programados de forma continua.
En la salida, el mensaje La tarea se está ejecutando
sigue apareciendo cada cinco segundos según lo programado.
Código de ejemplo:
# Python 3.x
import schedule as s
import time as t
def task():
print("Task is running")
s.every(5).seconds.do(task)
while True:
s.run_pending()
t.sleep(1)
Producción :
#Python 3.x
Task is running
Task is running
Task is running
Task is running
Task is running
Use minutos, horas y días como intervalo para programar un trabajo periódicamente
Si queremos cambiar el intervalo a minutos, horas o días de la semana específicos, podemos escribir el código de esta manera. La salida seguirá mostrando el mensaje de acuerdo con el tiempo establecido.
Código de ejemplo:
# Python 3.x
import schedule as s
import time as t
def task():
print("Task is running")
s.every(5).minutes.do(task)
s.every(10).hours.do(task)
s.every().monday.do(task)
while True:
s.run_pending()
t.sleep(1)
Producción :
#Python 3.x
Task is running
Task is running
Task is running
Usar el tiempo en formato HH:MM
como intervalo para programar un trabajo periódicamente
También podemos establecer un tiempo específico en formato HH:MM:SS
como argumento de una función. El mensaje seguirá mostrándose periódicamente después de cada intervalo especificado.
Código de ejemplo:
# Python 3.x
import schedule as s
import time as t
def task():
print("Task is running")
s.every().day.at("04:21").do(task)
s.every().monday.at("12:00").do(task)
while True:
s.run_pending()
t.sleep(1)
Producción :
#Python 3.x
Task is running
Utilice el decorador de funciones para programar un trabajo
Un decorador de funciones acepta una función como entrada, agrega alguna funcionalidad y devuelve una función. Usaremos el @repeat
para programar la función de tarea aquí.
Código de ejemplo:
# Python 3.x
from schedule import every, run_pending, repeat
import time as t
@repeat(every(5).seconds)
def task():
print("Task is running")
while True:
run_pending()
t.sleep(1)
Producción :
#Python 3.x
Task is running
Task is running
Task is running
Ejecutar un trabajo a la vez
Podemos ejecutar un trabajo a la vez cancelándolo después de que se ejecute usando CancelJob
con la instancia de programación.
Código de ejemplo:
# Python 3.x
import schedule as s
import time as t
def task():
print("Task is running")
return s.CancelJob
s.every(5).seconds.do(task)
while True:
s.run_pending()
t.sleep(1)
Producción :
#Python 3.x
Task is running
Cancelar todos los trabajos
Podemos cancelar todos los trabajos del programador utilizando el método clear()
con la instancia del programador. Aquí, hemos utilizado el método get_jobs()
para imprimir los trabajos programados desde el programador.
Código de ejemplo:
# Python 3.x
import schedule as s
import time as t
def task():
print("Task is running")
s.every(5).seconds.do(task)
print("Jobs:", s.get_jobs())
s.clear()
print("Jobs:", s.get_jobs())
Producción :
#Python 3.x
Jobs: [Every 5 seconds do task() (last run: [never], next run: 2022-04-08 16:59:37)]
Jobs: []
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn