„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich eine Cron-ähnliche Planung in Python erstellen?

Wie kann ich eine Cron-ähnliche Planung in Python erstellen?

Veröffentlicht am 22.12.2024
Durchsuche:495

How Can I Create Cron-Like Scheduling in Python?

Cron-ähnliche Planung mit Python

Der Bedarf an Planungsaufgaben auf der Grundlage flexibler Ausdrücke entsteht in verschiedenen Kontexten. Obwohl Cron diesen Zweck in vielen Umgebungen erfüllt, ist es möglicherweise nicht allgemein verfügbar oder machbar. In solchen Fällen bietet Python mehrere Optionen zum Erstellen eigener Cron-ähnlicher Scheduler.

Leichter Ansatz mit der Schedule-Bibliothek

Wenn leichte und rein Python-basierte Lösungen vorhanden sind Wenn Sie möchten, bietet die Bibliothek schedule eine einfache und ausdrucksstarke Schnittstelle. Es ermöglicht die Planung von Aufgaben mithilfe von Cron-ähnlichen Ausdrücken:

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)

In diesem Beispiel wird die Funktion job() in regelmäßigen Abständen ausgeführt. Sie können den Ausdruck ändern, um komplexe Zeitpläne zu definieren, beispielsweise alle 2 Stunden zwischen 9 und 17 Uhr an Wochentagen.

Alternative Ansätze

Wenn die Zeitplanbibliothek dies nicht tut Um Ihren spezifischen Anforderungen gerecht zu werden, ziehen Sie diese alternativen Ansätze in Betracht:

  • apscheduler: Ein umfassenderer Planungsbibliothek mit Unterstützung für mehrere Backends, einschließlich lokaler Threads und Celery.
  • crontab: Ein Python-Paket, das den Befehl crontab emuliert und so die direkte Planung von Shell-Befehlen ermöglicht.
  • celery-beat: Ein Scheduler, der in die verteilte Celery-Aufgabe integriert ist Warteschlange.

Denken Sie daran, dass Sie beim Definieren Ihres eigenen Schedulers das Starten von Python-Funktionen in einem separaten Thread verwalten müssen, um eine Blockierung des Hauptprozesses zu vermeiden.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3