Django & Sellerie – Open-Source-Aufgabenmanager

Hallo!

Dieser Artikel stellt einen Open-Source-Aufgaben-Manager vor, der von bereitgestellt wird Django und Sellerie. Das Produkt kann verwendet werden, um normalerweise zeitaufwändige Hintergrundaufgaben unter voller Kontrolle auszuführen: Starten, Abbrechen der Ausführung, Anzeigen von Ausgaben und Laufzeitprotokollen, sobald die Aufgaben abgeschlossen sind. Die unter der MIT-Lizenz veröffentlichte Quelle kann in kommerziellen Projekten oder eLearning-Aktivitäten verwendet werden. Danke fürs Lesen!


✨ Produkthighlights

Dieses Projekt implementiert einen Mechanismus, der es ermöglicht, Aufgaben bei Bedarf über eine einfache Benutzeroberfläche zu starten/abbrechen – Hier sind die grundlegenden Funktionen, die in dieser ersten Version bereitgestellt werden:

  • ✅ Rahmen: Django
  • ✅ Asynchrone Aufgabenverwaltung über Sellerie
  • Actions: Erstellen/Abbrechen
  • ✅ UI-Zugriff auf Laufzeitprotokolle und Ausgabe
  • ✅ Arten von Aufgaben: Skripte RUNNER und Benutzer drucken
  • Bootstrap 5 Entwurf, Dark Mode

Django & Sellerie - Registrierte Aufgaben

Sobald eine Aufgabe gestartet wird, wird der aktuelle Status sofort in der Benutzeroberfläche angezeigt. Dieses Verhalten ist in der Benutzeroberfläche über die Benutzeroberflächensteuerelemente sichtbar, die den Status der Aufgabe und die Option „Abbrechen“ vorschlagen.

Django & Sellerie - Aufgabe wurde gestartet


Alle laufenden Aufgaben können abgebrochen werden, und diese Funktion kann nützlich sein, wenn eine Hintergrundaufgabe mehr als erwartet ausgeführt wird.

Für abgeschlossene Aufgaben können die Benutzer die Aufgabenausgabe direkt in der Benutzeroberfläche überprüfen und das RUNTIME-Protokoll anzeigen, falls weitere Ausführungsdetails erforderlich sind.

Django & Sellerie - Task-Laufzeitprotokoll


✨ So verwenden Sie das Produkt

Die Verarbeitung von Hintergrundaufgaben erfordert einen laufenden Redis-Dienst und die Adresse des Dienstes sollte im Projekt konfiguriert werden die Einstellungen (eigener Abschnitt):





CELERY_BROKER_URL         = os.environ.get("CELERY_BROKER", "redis://localhost:6379")
CELERY_RESULT_BACKEND     = os.environ.get("CELERY_BROKER", "redis://localhost:6379")
CELERY_TASK_TRACK_STARTED = True
CELERY_TASK_TIME_LIMIT    = 30 * 60
CELERY_CACHE_BACKEND      = "django-cache"
CELERY_RESULT_BACKEND     = "django-db"
CELERY_RESULT_EXTENDED    = True
CELERY_RESULT_EXPIRES     = 60*60*24*30 
CELERY_ACCEPT_CONTENT     = ["json"]
CELERY_TASK_SERIALIZER    = 'json'
CELERY_RESULT_SERIALIZER  = 'json'



Wenn wir davon ausgehen, dass Redis betriebsbereit ist, sind hier die Schritte zum Starten des Produkts in einer lokalen Umgebung:


👉 Schritt 1 – Klonen Sie die Quellen aus der öffentliches Repositorium

$ git clone 
$ cd sample-django-celery

👉 Schritt 2 – Installieren Sie die Module mithilfe einer virtuellen Umgebung

$ virtualenv env
$ source env/bin/activate
$ pip3 install -r requirements.txt

👉 Schritt 3 – Migrieren Sie die Datenbank

$ python manage.py makemigrations
$ python manage.py migrate

👉 Schritt 4 – Starten Sie das Projekt

$ python manage.py runserver

Unter Verwendung eines separaten Terminalfensters startet der folgende Befehl die Celery Manager:

👉 Schritt #5 – VENV aktivieren

$ source env/bin/activate

👉 Schritt #6 – Starten Sie den Manager

$ celery --app=core.celery.app worker --loglevel=info 

An diesem Punkt sollten wir in der Lage sein, Aufgaben mit einem SuperUser-Konto auszuführen. Normale Benutzer können nur die Aufgabenausgabe und die Laufzeitprotokolle auschecken.

Django & Sellerie - Aufgabenliste


✨ Videopräsentation

Eine kurze Demonstration, die alle oben genannten Funktionen zusammenfasst, finden Sie auf YouTube.

👉 Django & Sellerie-Task-Manager – Video Präsentation


Danke fürs Lesen! Weitere Ressourcen und Unterstützung finden Sie unter:

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *