Django-celery-beat bietet eine Vielzahl von Optionen zur Planung wiederkehrender Celery-Aufgaben, die einfach über das Django Admin einmal eingerichtet werden können. In diesem Artikel werden wir vier wichtige Planungsoptionen von Django-celery-beat vorstellen und erläutern, in welchen Situationen sie geeignet sind und wie man sie verwendet.

1. Interval-Aufgaben: Wiederholte Ausführung in bestimmten Intervallen

Interval-Aufgaben ermöglichen es, eine feste Zeitspanne zu definieren, in der Aufgaben wiederholt ausgeführt werden. Zum Beispiel kann man Intervalle wie alle 5 Minuten, jede Stunde, täglich festlegen, was nützlich ist für Aufgaben, die regelmäßige Überwachung oder wiederkehrende Updates erfordern.

  • Beispiel für die Einstellung: Datenbackup soll täglich um 14:00 Uhr durchgeführt werden.
  • Geeignete Situationen:
    • Aufgaben, die regelmäßig aktualisiert werden müssen
    • Wiederkehrende Aufgaben wie Echtzeitüberwachung
Interval: Every 1 day

2. Crontab-Aufgaben: Ausführung zu festgelegten Zeiten

Crontab-Aufgaben sind eine Möglichkeit, Aufgaben zu bestimmten Zeiten oder an bestimmten Tagen auszuführen. Diese Option ist ideal für Aufgaben, die täglich um Mitternacht oder jeden Montag um 9 Uhr ausgeführt werden müssen, da sie regelmäßig folgen müssen.

  • Beispiel für die Einstellung: Datenprotokolle sollen täglich um Mitternacht bereinigt werden, oder Berichte sollen jeden Montag erstellt werden.
  • Geeignete Situationen:
    • Aufgaben, die täglich/wöchentlich zu bestimmten Zeiten ausgeführt werden müssen
    • Aufgaben, die feste Zeitblöcke erfordern, anstelle von wiederkehrenden Intervallen
Crontab: Minute=0, Hour=0, Day of Week=* (täglich um Mitternacht)

3. Clocked-Aufgaben: Geplante Ausführung bei bestimmten Ereignissen

Clocked-Aufgaben sind Aufgaben, die so geplant werden, dass sie einmalig zu einer bestimmten Zeit ausgeführt werden. Nachdem die geplante Aufgabe abgeschlossen ist, verschwindet sie automatisch, sodass sie ideal geeignet ist, wenn bestimmte Aufgaben bei Eintritt eines Ereignisses erforderlich sind. Beispielsweise kann man festlegen, dass eine Aufgabe zur geplanten Zeit ausgeführt wird, wenn ein Benutzer ein Ereignis anmeldet.

  • Beispiel für die Einstellung: Eine Benachrichtigung für ein Ereignis senden, die zum gewünschten Zeitpunkt an den Benutzer gesendet wird, oder Aufgaben festlegen, die nach einmaliger Ausführung beendet werden sollen.
  • Geeignete Situationen:
    • Aufgaben, die einmal ausgeführt werden müssen (z. B. Benachrichtigungen für geplante Ereignisse)
    • Aufgaben, die basierend auf Benutzeranfragen individuell geplant werden müssen
Clocked: einmalige Ausführung zu einem bestimmten Ereigniszeitpunkt

4. Solar-Aufgaben: Ausführung basierend auf astronomischen Phänomenen

Solar-Aufgaben sind besondere Optionen, die es ermöglichen, Aufgaben basierend auf astronomischen Phänomenen wie Sonnenaufgang und Sonnenuntergang zu planen. Sie können entsprechend dem Standort und der Zeitzone festgelegt werden, da sie auf der Position der Sonne basieren. Zum Beispiel kann es nützlich sein, Aufgaben zu planen, die zum Sonnenaufgang in einer bestimmten Region ausgeführt werden müssen.

  • Beispiel für die Einstellung: Die Straßenbeleuchtung soll täglich bei Sonnenaufgang eingeschaltet werden oder eine bestimmte Aufgabe soll bei Sonnenuntergang gestartet werden.
  • Geeignete Situationen:
    • Aufgaben, die regelmäßig basierend auf Naturphänomenen wie Sonnenaufgang/Sonnenuntergang ausgeführt werden müssen
    • Aufgaben, die auf astronomischen Ereignissen basieren, die vom Standort abhängen
Solar: Aufgaben basierend auf Sonnenaufgang/Sonnenuntergang

Auswahlkriterien für jede Aufgabenoption

Option Beschreibung Verwendung Beispiel
Interval Wiederholte Ausführung in bestimmten Intervallen Echtzeitüberwachung, regelmäßige Datenaktualisierung
Crontab Ausführung zu bestimmten Zeiten und Tagen Datenbereinigung um Mitternacht, Berichterstellung jeden Montag
Clocked Einmalige Ausführung zur bestimmten Zeit Benutzervorbestellungen, einmalige Ereignisse
Solar Ausführung basierend auf astronomischen Phänomenen Automatisches Licht bei Sonnenaufgang, Start bestimmter Aufgaben bei Sonnenuntergang

Durch die Nutzung der vielfältigen Optionen von Django-celery-beat können Sie Anforderungen von der Durchführung regelmäßiger Aufgaben bis zur Planung von Aufgaben zu bestimmten Zeiten einfach handhaben. Wenn Sie die Eigenschaften jeder Option verstehen und die geeigneten Einstellungen für Ihre Aufgaben auswählen, können Sie eine effiziente Aufgabenverwaltung erreichen.

Django Admin-Aufgabenplanung mit django-celery-beat