Cron wie Scheduler in Python

Atika Islam 15 Februar 2024
  1. die Module cron und scheduler in Python
  2. Planen Sie Jobs mit dem Modul schedule
Cron wie Scheduler in Python

In diesem Tutorial wird das Planen der Aufgaben ähnlich dem cron-Job in Linux erklärt. Zuerst sehen wir uns das Modul schedule an, um unsere Jobs in einem In-Process-Schedular zu planen.

die Module cron und scheduler in Python

Python stellt uns mehrere Pakete zur Verfügung, mit denen wir Aufgaben automatisch planen können. Diese Pakete beinhalten Zeitplan und Zeit.

Der cron wird zur Planung und Automatisierung unserer Aufgaben verwendet. Beispielsweise wird nach einem bestimmten Zeitintervall automatisch ein bestimmter Job ausgeführt.

Wir müssen oft viele Aufgaben regelmäßig ausführen, ohne dass manuelle Eingriffe erforderlich sind. Wir können dies erreichen, indem wir einen Aufgabenplaner verwenden.

Zeitplanung hilft und erleichtert uns oft bei der Verwaltung unserer in Datenbanken gespeicherten Daten. Es ermöglicht uns auch, unsere Daten je nach Bedarf regelmäßig abzurufen.

Das schedule-Modul in Python ist ein ausgeklügeltes Planungsmodul, das unsere Aufgaben so plant, dass sie gemäß den Konfigurationen ausgeführt werden.

Der cron ist ein zeitbasierter Scheduler. Es hilft uns, die Jobs zu planen, die periodisch ausgeführt werden müssen. Die Datei crontab, ein Teil des Linux-Dienstprogramms cron, enthält die Liste der geplanten Aufgaben.

Um unsere Aufgaben in cron zu planen, können wir diese Datei direkt mit dem Bash-Befehl crontab -e oder dem python-crontab-Modul von Python bearbeiten. Wir können diese Planungsschemata jedoch nicht in Windows-Betriebssystemen verwenden.

Der Zeitplan ist eine Bibliothek, die nach dem Zeitintervall Ihres Systems arbeitet. Es dient als prozessinterner Zeitplan und funktioniert auf fast jedem Betriebssystem.

Es hilft uns, bestimmte Aufgaben in unterschiedlichen Zeitintervallen zu planen, z. B. zu einer bestimmten Zeit an einem Tag oder in einer Woche. Beginnen wir also damit, ein neues Python-Projekt zu erstellen.

Planen Sie Jobs mit dem Modul schedule

Befolgen Sie die nachstehenden Anweisungen, um ein neues Python-Projekt zu erstellen:

  • Der erste Schritt besteht darin, die Anaconda-Eingabeaufforderung zu installieren.
  • Geben Sie dann Jupyter notebook auf dem Eingabeaufforderungsbildschirm ein.

    Cron wie Zeitplan in Python - Anaconda-Eingabeaufforderung

  • Sie erhalten diese Startseite des Jupyter-Notebooks im Browser.

    Cron wie Zeitplan in Python - Homepage

  • Klicken Sie auf Neu und erstellen Sie eine Python 3-Datei.

    Cron wie Zeitplan in Python - neue Python-Datei

  • Die Python-Datei wird wie folgt angezeigt.

    Cron wie Zeitplan in Python - Python-Datei

  • Bevor Sie eine der Funktionen des schedule-Moduls nutzen können, müssen wir zuerst das schedule-Modul installieren.
    pip install schedule
    
  • Sehen wir uns nach dem Import des erforderlichen Moduls einen Code an, um einen Job zu erstellen und zu planen.
    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)
    

    In diesem Code sind drei verschiedene Jobs definiert. Der erste Job Lesezeit wiederholt sich alle 5 Sekunden, der zweite Job Codieren wiederholt sich alle 2 Minuten und der letzte Job wiederholt sich zu gegebener Zeit.

    Die Funktion Schedule.run_pending() in der while-Schleife prüft, ob ein geplanter Job zur Ausführung ansteht oder nicht. Wenn sie ausgeführt wird, verzögert die Funktion time.sleep(1) den schedule um eine Sekunde, um seine anstehenden Aufgaben zu prüfen.

    Ausgang:

    Cron wie Scheduler in Python - Ausgabe

    Wir können den Planer auch bitten, einen bestimmten Job nach Stunden und Minuten auszuführen. Beispielsweise wiederholt die Anweisung schedule.every(5).hours.do(job) den Job alle fünf Stunden.

Verwandter Artikel - Python Cron