Sellerie und benutzerdefinierte Verbraucher
Meines Wissens Sellerie wirkt sowohl als Produzent und konsument von Nachrichten. Dies ist nicht das, was ich erreichen will. Ich will Sellerie zu handeln, wie der Verbraucher ist, nur, um Feuer zu bestimmten Aufgaben auf der Grundlage von Nachrichten, die ich sende, um meine AMQP broker der Wahl. Ist das möglich?
Oder muss ich die Suppe durch hinzufügen von Möhre auf meinen Stapel?
- Suppe und Karotten? könnten Sie ein Beispiel geben?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sellerie-Broker fungiert als eine Nachricht speichert, und veröffentlichen Sie Sie auf einen oder mehrere Arbeitnehmer, die ein Abonnement für diejenigen,
also: Sellerie pulishes Nachrichten an einen broker (rabbitmq, redist, Sellerie selbst durch django. db, usw..) diese Nachrichten werden abgerufen, indem ein Arbeiter nach dem Protokoll der broker, das merkt Sie (in der Regel, Sie sind hartnäckig, aber vielleicht ist es dependes auf Ihrem broker), und hat ausgeführt, indem Sie die Arbeitnehmer.
Aufgabe, die Ergebnisse sind auf die Ausführung worker-Aufgabe ist, und Sie können konfigurieren, wo speichern Sie diese Ergebnisse und Sie können Sie abrufen mit diese Methode .
Können Sie Sie veröffentlichen, Aufgaben mit Sellerie übergabe von Parametern an Ihre "receiver function" (die Aufgabe, die Sie definieren, die Dokumentation hat einige Beispiele, in der Regel Sie nicht wollen, zu passieren große Dinge hier (sagen wir ein queryset), sondern nur die minimale Informationen, ermöglicht Ihnen das abrufen, was Sie benötigen, wenn Sie die Ausführung der Aufgabe.
einem einfachen Beispiel könnte sein:
Registrieren Sie einen task
und rufen Sie die von einem anderen Modul mit:
BEARBEITEN
nach deinem edit, sah ich, dass Sie wahrscheinlich wollen, zu konstruieren, die Nachrichten von anderen Quellen andere, Sellerie, konnte man sehen, hier das format der Nachricht, die Sie standardmäßig als eingelegte Objekte, die Achtung, die format, so dass Sie post die Nachricht in die richtige Warteschlange Ihres rabbitmq-broker haben Sie Recht-gehen, abrufen, Sie von Ihrem Arbeitnehmer.
Sellerie verwendet die message-broker-Architektur-Muster. Eine Anzahl von Implementierungen /broker-Transporte verwendet werden können, mit Sellerie, einschließlich RabbitMQ und ein Django-Datenbank.
Vom Wikipedia:
Halten Ergebnisse ist optional und erfordert eine Ergebnis-backend. Sie können verschiedene broker und Ergebnis-backends. Die Sellerie-Erste Schritte guide enthält weitere Informationen.
Die Antwort auf Ihre Frage ist ja feuern können Sie bestimmte Aufgaben übergeben von Argumenten ohne addding Karotte in den mix.
Sellerie Custom Verbraucher wird ein feature freigegeben, bei 3.1 v und ist jetzt in der Entwicklung, Sie können Lesen http://docs.celeryproject.org/en/master/userguide/extending.html darüber.