Ich habe zwei Python-Projekte. Beide sind mit Sellerie befähigt. Was ich hier versuche ist von Projekt A Ich sende Aufgabe mit send_task() Methode. Die Aufgabe, die ich sende, befindet sich in Projekt B. Der Mitarbeiter von Projekt B ist also aktiv und zeigt die Aufgabe an. Bis zu diesem Zustand funktioniert alles gut. Aber wenn ich den Arbeiter von Projekt A aufsteige, beginnt er, hier einen Schlüsselfehler zu liefern. Was genau hier passiert ist, dass 1) Im ersten Versuch von send_task() Projekt B Arbeiter erhält die Aufgabe. Und alles funktioniert wie erwartet. 2) Im zweiten Versuch von send_task() schlägt es fehl. Da der Mitarbeiter von Projekt A versucht, die Aufgabe zu erhalten, die in Projekt A nicht vorhanden ist, wird der Schlüsselfehler ausgegeben. 3) Im dritten Versuch von send_task() erhält der Arbeiter von Projekt B die Aufgabe. Und alles funktioniert wie erwartet. 4) Im vierten Versuch von send_task() schlägt es fehl. Da der Mitarbeiter von Projekt A versucht, die Aufgabe zu erhalten, die in Projekt A nicht vorhanden ist, wird der Schlüsselfehler ausgegeben. Dieser Prozess wiederholt sich immer wieder.in Sellerie Rabbitmq Austauschart Thema funktioniert nicht richtig
Projekt A Queue: -
.> mplogin.sync exchange=mplogin(topic) key=mplogin.sync
[tasks]
[2016-06-03 11:11:04,427: INFO/MainProcess] Connected to amqp://guest:**@localhost:5672//
[2016-06-03 11:11:04,468: INFO/MainProcess] mingle: searching for neighbors
[2016-06-03 11:11:05,476: INFO/MainProcess] mingle: all alone
[2016-06-03 11:11:05,984: WARNING/MainProcess] [email protected] ready.
Projekt B Queue: -
.> mplogin.sync exchange=mplogin(topic) key=mplogin.sync
[tasks]
. mplogin.sync.register
[2016-06-03 11:12:57,941: INFO/MainProcess] Connected to amqp://guest:**@localhost:5672//
[2016-06-03 11:12:57,949: INFO/MainProcess] mingle: searching for neighbors
[2016-06-03 11:12:58,955: INFO/MainProcess] mingle: all alone
[2016-06-03 11:12:58,980: WARNING/MainProcess] /usr/local/lib/python2.7/dist-packages/kombu/pidbox.py:75: UserWarning: A node named [email protected] is already using this process mailbox!
Maybe you forgot to shutdown the other node or did not do so properly?
Or if you meant to start multiple nodes on the same host please make sure
you give each node a unique node name!
warnings.warn(W_PIDBOX_IN_USE.format(node=self))
[2016-06-03 11:12:58,983: WARNING/MainProcess] [email protected] ready.
Ich mache beiden Arbeiter auf mit
celery -A tasks worker -l info
Aufgabe im Projekt B: -
@sync_app.task(name='mplogin.sync.register')
def register(user_obj):
return "Its working!!!!"
aus Projekt A Senden Aufgabe:
from tasks import login_async_app
abc = login_async_app.send_task('mplogin.sync.register',kwargs={'user_obj': 500})
sync_app ist Sellerie Anwendung in Projekt B & login_async_app Sellerie Anwendung in Projekt A. ist
Ich denke, das Problem, das ich bin vor ist wegen exchange_type = "Thema " Ich habe versucht, direkt zu verwenden, aber es funktioniert nicht. bitte führen Sie mich durch.