Cron como Schedular en Python

Atika Islam 15 febrero 2024
  1. los módulos cron y scheduler en Python
  2. Programar trabajos con el módulo programar
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.

    cron como schedular en python - solicitud de anaconda

  • Obtendrá esta página de inicio del cuaderno Jupyter en el navegador.

    cron como schedular en python - página de inicio

  • Haga clic en Nuevo, luego cree un archivo Python 3.

    cron como schedular en python - nuevo archivo python

  • El archivo de Python aparecerá de la siguiente manera.

    cron como schedular en python - archivo python

  • Antes de utilizar cualquiera de las funcionalidades del módulo horario, primero debemos instalar el módulo horario.
    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 cada 5 segundos, el segundo trabajo, codificación, se repetirá cada 2 minutos, y el último trabajo se repetirá cuando llegue el tiempo específico.

    La función Schedule.run_pending() en el bucle while comprueba si hay algún trabajo programado pendiente de ejecutar o no. Cuando se ejecuta, la función time.sleep(1) retrasará el programa para comprobar sus tareas pendientes durante un segundo.

    Producción:

    cron como schedular en python - salida

    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 cada cinco horas.

Artículo relacionado - Python Cron