Zeitplan in Python
- Installieren Sie die Zeitplanbibliothek in Python
- Verwenden Sie Sekunden als Intervall, um einen Job regelmäßig zu planen
- Verwenden Sie Minuten, Stunden und Tage als Intervall, um einen Job regelmäßig zu planen
-
Verwenden Sie die Zeit im Format
HH:MM
als Intervall, um einen Job periodisch zu planen - Verwenden Sie den Funktions-Decorator, um einen Job zu planen
Dieses Tutorial demonstriert das Schedule-Paket in Python, um Jobs regelmäßig nach einem bestimmten Zeitintervall zu planen.
Der Schedule ist eine leichtgewichtige Prozess-Scheduler-Bibliothek in Python, die verwendet wird, um eine Aufgabe so zu planen, dass sie regelmäßig in einem bestimmten Zeitintervall ausgeführt wird.
Wir können eine Funktion oder ein beliebiges aufrufbares Objekt mit einer benutzerfreundlichen Syntax aufrufen, um Aufgaben wie das Senden von E-Mails, das Einrichten einer Erinnerung, das regelmäßige Abrufen des Preises einer Währung oder Bitcoin zu automatisieren.
Installieren Sie die Zeitplanbibliothek in Python
Wir müssen dieses Paket zuerst mit dem folgenden Befehl installieren, um es zu verwenden.
#Python 3.x
pip install schedule
Um einen Job zu planen, verwenden wir die folgende Syntax.
Syntax:
# Python 3.x
Schedule.every(interval).[timeframe].do(function)
Parameter:
- Das
Intervall
kann eine beliebige Ganzzahl sein. - Der
Zeitrahmen
kann Sekunden, Minuten, Stunden, Tage oder sogar die Namen von Wochentagen wie Montag, Dienstag usw. sein. - Die Methode
do()
nimmt den Funktionsnamen als Argument für den Zeitplan.
Verwenden Sie Sekunden als Intervall, um einen Job regelmäßig zu planen
Wir haben eine Methode namens task
im folgenden Code, die periodisch alle fünf Sekunden ausgeführt wird. Wir definieren das Zeitintervall (in unserem Fall fünf Sekunden) als Argument für die Methode every()
.
Wir geben die zu planende Funktion als Argument für die Methode do()
an, die automatisch ausgeführt wird, sobald die Maschine die angegebene Zeit erreicht. Schließlich führen wir die Funktion run_pending()
in der while
-Schleife aus, um die geplanten Jobs kontinuierlich auszuführen.
In der Ausgabe wird wie programmiert alle fünf Sekunden die Meldung Aufgabe läuft
angezeigt.
Beispielcode:
# Python 3.x
import schedule as s
import time as t
def task():
print("Task is running")
s.every(5).seconds.do(task)
while True:
s.run_pending()
t.sleep(1)
Ausgang:
#Python 3.x
Task is running
Task is running
Task is running
Task is running
Task is running
Verwenden Sie Minuten, Stunden und Tage als Intervall, um einen Job regelmäßig zu planen
Wenn wir das Intervall auf bestimmte Minuten, Stunden oder Wochentage ändern möchten, können wir den Code so schreiben. Der Ausgang zeigt die Nachricht weiterhin gemäß der eingestellten Zeit an.
Beispielcode:
# Python 3.x
import schedule as s
import time as t
def task():
print("Task is running")
s.every(5).minutes.do(task)
s.every(10).hours.do(task)
s.every().monday.do(task)
while True:
s.run_pending()
t.sleep(1)
Ausgang:
#Python 3.x
Task is running
Task is running
Task is running
Verwenden Sie die Zeit im Format HH:MM
als Intervall, um einen Job periodisch zu planen
Wir können auch eine bestimmte Uhrzeit im Format HH:MM:SS
als Argument für eine Funktion angeben. Die Nachricht wird regelmäßig nach jedem angegebenen Intervall angezeigt.
Beispielcode:
# Python 3.x
import schedule as s
import time as t
def task():
print("Task is running")
s.every().day.at("04:21").do(task)
s.every().monday.at("12:00").do(task)
while True:
s.run_pending()
t.sleep(1)
Ausgang:
#Python 3.x
Task is running
Verwenden Sie den Funktions-Decorator, um einen Job zu planen
Ein Funktions-Decorator akzeptiert eine Funktion als Eingabe, fügt einige Funktionen hinzu und gibt eine Funktion zurück. Wir werden das @repeat
verwenden, um die Aufgabenfunktion hier zu planen.
Beispielcode:
# Python 3.x
from schedule import every, run_pending, repeat
import time as t
@repeat(every(5).seconds)
def task():
print("Task is running")
while True:
run_pending()
t.sleep(1)
Ausgang:
#Python 3.x
Task is running
Task is running
Task is running
Führen Sie einen Job sofort aus
Wir können einen Job sofort ausführen, indem wir ihn nach der Ausführung mit CancelJob
mit der Zeitplaninstanz abbrechen.
Beispielcode:
# Python 3.x
import schedule as s
import time as t
def task():
print("Task is running")
return s.CancelJob
s.every(5).seconds.do(task)
while True:
s.run_pending()
t.sleep(1)
Ausgang:
#Python 3.x
Task is running
Alle Aufträge stornieren
Wir können alle Jobs aus dem Scheduler mit der Methode clear()
mit der Scheduler-Instanz löschen. Hier haben wir die Methode get_jobs()
verwendet, um die geplanten Jobs aus dem Scheduler zu drucken.
Beispielcode:
# Python 3.x
import schedule as s
import time as t
def task():
print("Task is running")
s.every(5).seconds.do(task)
print("Jobs:", s.get_jobs())
s.clear()
print("Jobs:", s.get_jobs())
Ausgang:
#Python 3.x
Jobs: [Every 5 seconds do task() (last run: [never], next run: 2022-04-08 16:59:37)]
Jobs: []
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn