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.
-
Sie erhalten diese
Startseite
des Jupyter-Notebooks im Browser. -
Klicken Sie auf
Neu
und erstellen Sie einePython 3
-Datei. -
Die Python-Datei wird wie folgt angezeigt.
-
Bevor Sie eine der Funktionen des
schedule
-Moduls nutzen können, müssen wir zuerst dasschedule
-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 alle5
Sekunden, der zweite JobCodieren
wiederholt sich alle2
Minuten und der letzte Job wiederholt sich zu gegebener Zeit.Die Funktion
Schedule.run_pending()
in derwhile
-Schleife prüft, ob ein geplanter Job zur Ausführung ansteht oder nicht. Wenn sie ausgeführt wird, verzögert die Funktiontime.sleep(1)
denschedule
um eine Sekunde, um seine anstehenden Aufgaben zu prüfen.Ausgang:
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 allefünf
Stunden.