"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo crear una programación similar a Cron en Python?

¿Cómo puedo crear una programación similar a Cron en Python?

Publicado el 2024-12-22
Navegar:134

How Can I Create Cron-Like Scheduling in Python?

Programación tipo Cron con Python

La necesidad de programar tareas basadas en expresiones flexibles surge en varios contextos. Si bien cron cumple este propósito en muchos entornos, es posible que no esté disponible o sea factible de manera universal. En tales casos, Python proporciona varias opciones para crear sus propios programadores tipo cron.

Enfoque liviano con la biblioteca de programación

Si se desean soluciones livianas y puramente basadas en Python Si lo desea, la biblioteca schedule ofrece una interfaz simple y expresiva. Permite programar tareas utilizando expresiones similares a cron:

import schedule
import time

def job():
    print("I'm working...")

schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)

while 1:
    schedule.run_pending()
    time.sleep(1)

En este ejemplo, la función job() se ejecutará a intervalos regulares. Puede modificar la expresión para definir horarios complejos, como cada 2 horas entre las 9 a. m. y las 5 p. m. entre semana.

Enfoques alternativos

Si la biblioteca de horarios no Para cumplir con sus requisitos específicos, considere estos enfoques alternativos:

  • apscheduler: Una biblioteca de programación más completa con soporte para múltiples backends, incluidos subprocesos locales y Apio.
  • crontab: Un paquete de Python que emula el comando crontab, lo que permite la programación directa de comandos de shell.
  • apio -beat: Un programador que se integra con la cola de tareas distribuidas de Celery.

Recuerde, al definir el suyo propio programador, deberá manejar el lanzamiento de funciones de Python en un hilo separado para evitar bloquear el proceso principal.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3