Ich verwende Sellerie mit Redis.Wie überprüfen, ob Sellerie Ergebnis Backend funktioniert
Aktuelle Redis wird als Broker und als Ergebnis Backend verwendet.
BROKER_TRANSPORT = 'redis'
BROKER_URL = 'redis://domain:8888/0'
CELERY_RESULT_BACKEND = 'redis://domain:8888/0'
möchte ich einige Dinge klären
- Was ist der Nutzen des Verwendens Ergebnis Backend ist. Ich meine, was ich bekommen werde, indem ich es verwende
- Wie kann ich sehen, dass es funktioniert. Ich meine, wird etwas in redis gespeichert werden. Wll dieser Speicher ist dauerhaft. Wie kann ich das abfragen? Wird das Lager mit der Zeit usw. wachsen
- kann ich das Ergebnis Backend-Material mit
Danke Tu, ich habe das. Eine Sache, die mir nicht klar ist, wo speichert der Sellerie alle diese Einbildungen wie task_id, welcher Arbeiter wurde diese Aufgabe ausgeführt usw. Geht es in Redis? Ist diese Information permanent> Weil ich sehe, dass, wenn ich Sellerie-Blume neu starte, dann alle Aufgaben im Aufgabenregister weg sind. Es sieht so aus, dass diese Information nicht persistent ist – Karl
Ja, es ist alles im Broker gespeichert. In Ihrem speziellen Fall scheint dies eine Redis-Datenbank zu sein, die eine In-Memory-Datenbank ist. Diese Information ist in der Tat nicht persistent (per Design!) Wenn Sie Ihre redis-Datenbank persistieren wollen, lesen Sie, wie man das in der [redis-Dokumentation bezüglich Redisperisten] (http://redis.io/topics/ Beharrlichkeit). Wenn Persistenz ein großer Teil Ihres Anwendungsfalls sein wird, sollten Sie sich einen robusteren Broker wie RabbitMQ ansehen, der mehr involviert ist, aber Daten in der Warteschlange bei abrupten Shutdowns erhalten kann. – Thtu
Denkst du, es macht Sinn, dass ich meinen Aufgabenstatus manuell in der Datenbank im Code zur Ausführung der Aufgabe ablege, um den vollständigen Verlauf der Ereignisse zu sehen. Wenn ich dann eine Task-ID aus Log-Nachrichten überprüfe, kann ich die entsprechenden Schritte sehen , Ergebnisse usw. direkt aus der Datenbank – Karl