Cron como Schedular en Python
Este tutorial explicará la programación de tareas similares al trabajo cron
en Linux. Primero, veremos el módulo programar
para programar nuestros trabajos en un programador en proceso.
los módulos cron
y scheduler
en Python
Python nos proporciona varios paquetes que nos permiten programar tareas de forma automática. Esos paquetes incluyen horario
y tiempo
.
El cron
se utiliza para programar y automatizar nuestras tareas. Por ejemplo, después de un intervalo de tiempo específico, un trabajo en particular comienza a ejecutarse automáticamente.
A menudo necesitamos realizar muchas tareas periódicamente sin necesidad de intervenciones manuales. Podemos lograr esto mediante el uso de un programador de tareas.
La programación a menudo nos ayuda y facilita la gestión de nuestros datos almacenados en bases de datos. También nos permite obtener nuestros datos periódicamente según la necesidad.
El módulo programar
en Python es un módulo de programación sofisticado que programa nuestras tareas para que se ejecuten según las configuraciones.
El cron
es un planificador basado en el tiempo. Nos ayuda a programar aquellos trabajos que se tienen que realizar periódicamente. El archivo crontab
, una parte de la utilidad cron
de Linux, contiene la lista de tareas programadas.
Para programar nuestras tareas en cron
, podemos editar directamente este archivo usando el comando Bash crontab -e
o el módulo python-crontab
de Python. Pero no podemos usar estos esquemas de programación en los sistemas operativos Windows.
El horario
es una biblioteca que funciona según el intervalo de tiempo de su sistema. Sirve como programador en proceso y funciona en casi cualquier sistema operativo.
Nos ayuda a programar ciertas tareas en diferentes intervalos de tiempo, como una hora específica en un día o una semana. Entonces, comencemos creando un nuevo proyecto de python.
Programar trabajos con el módulo programar
Siga las instrucciones que se dan a continuación para crear un nuevo proyecto de Python:
-
El primer paso es instalar el indicador de anaconda.
-
Luego escriba Jupyter notebook en la pantalla de aviso.
-
Obtendrá esta página de
inicio
del cuaderno Jupyter en el navegador. -
Haga clic en
Nuevo
, luego cree un archivoPython 3
. -
El archivo de Python aparecerá de la siguiente manera.
-
Antes de utilizar cualquiera de las funcionalidades del módulo
horario
, primero debemos instalar el módulohorario
.pip install schedule
-
Después de importar el módulo requerido, veamos un código para crear y “programar” un trabajo.
import schedule import time def job(): print("Reading time...") def coding(): print("Programming time...") def playing(): print("Playing time...") # Time schedule.every(5).seconds.do(job) schedule.every(2).minutes.do(coding) schedule.every().day.at("10:57").do(playing) while True: schedule.run_pending() time.sleep(1)
Hay tres trabajos diferentes definidos en este código. El primer trabajo,
lectura de tiempo
, se repite cada5
segundos, el segundo trabajo,codificación
, se repetirá cada2
minutos, y el último trabajo se repetirá cuando llegue el tiempo específico.La función
Schedule.run_pending()
en el buclewhile
comprueba si hay algún trabajo programado pendiente de ejecutar o no. Cuando se ejecuta, la funcióntime.sleep(1)
retrasará elprograma
para comprobar sus tareas pendientes durante un segundo.Producción:
También podemos pedirle al programador que realice un trabajo específico después de horas y minutos. Por ejemplo, la sentencia
schedule.every(5).hours.do(job)
repetirá el trabajo cadacinco
horas.