Ich baue ein Reporting-Portal mit django. In diesem Portal muss ich Benutzern die Möglichkeit geben, Berichte so zu planen, dass sie wiederholt ausgeführt werden. Ich habe Django-Sellerie erforscht und verstehe, dass Sie den periodic_task-Dekorator verwenden können, um eine wiederkehrende Aufgabe zu planen, aber in allen Beispielen, die ich gesehen habe, ist die Cron-Zeitplan-Information fest in den Decorator kodiert.
%Vor%Gibt es eine Möglichkeit, Django-Sellerie zu verwenden, um eine wiederkehrende Aufgabe basierend auf der Eingabe eines Benutzers dynamisch zu planen?
Beispielsweise verwendet ein Benutzer ein Formular, um den Bericht auszuwählen, den sie ausführen möchten, und stellt alle für den Bericht erforderlichen Parameter und den Zeitplan bereit, wenn der Bericht ausgeführt werden soll. Sobald ich das Formular bearbeitet habe, gibt es eine Methode oder Funktion, die ich aufrufen kann, um einen run_report-Task zu einem Zeitplan hinzuzufügen? Wenn ja, gibt es eine Möglichkeit, alle in der Datenbank gespeicherten aktuellen Zeitpläne abzurufen, damit sie angezeigt werden können?
zB: -
%Vor%.
%Vor%wird in 10 Sekunden ausgeführt.
%Vor%wird in 10 Sekunden ausgeführt und mit eta p> angegeben %Vor%
wird in einer Minute ausgeführt, läuft aber nach 2 Minuten ab.
Überschreiben Sie Ihre Speichermethode in Modellen. Wenn ein Benutzer einen Prozess / eine Aufgabe starten möchte, ändert er das Modell, das den Start der Aufgabe auslöst.
Ihre_App / models.py:
%Vor%Ihre_App / tasks.py
%Vor%Tags und Links django celery user-input django-celery