1

Ich habe gerade ein Projekt gestartet, um ein sehr einfaches Django Sellerie-Projekt zu entwickeln. Da ich in erster Linie nur um zu sehen, versuchen, wie es funktioniert, hier ist was meine Einstellungen wie folgt aussehen:Integrierter Sellerie-Beat in Django?

BROKER_TRANSPORT = "django" 
CELERY_ALWAYS_EAGER = True 
CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler" 

Getestet habe ich Entsendung Aufgaben haben mit apply_async() und von ihnen in Django Admin-Site-Planung und beide große Arbeit.

Das einzige Problem, das ich derzeit sehe, ist, dass ich zwei separate Prozesse ausführen muss, um meine Aufgaben zu testen, django runserver und django celerybeat. Wenn ich eine periodische Aufgabe ändere, muss ich den celerybeat Prozess neu starten, um es neu zu laden. Gibt es eine Möglichkeit, dass ich den celerybeat Prozess mit runserver integriert laufen lassen kann, um zu vermeiden, den anderen Prozess zu starten?

Antwort

2

Ich habe es nicht selbst verwendet, aber es scheint, dass Sie das Projekt django-supervisor überprüfen sollten. Mein Verständnis ist, dass es so konfiguriert werden kann, dass Inhalte für eine beliebige Anzahl von gleichzeitig laufenden Prozessen, die mit Ihrem Webserver laufen, automatisch neu geladen werden.

Alternativ können Sie Sellerie 2,5 - Auto-Ladefunktion verwenden. Weitere Details dazu in the release notes.

Verwandte Themen