Ich schaute auf ein Stück Code, der Callback_queue mit correlation_id auf Standardaustausch verwendet. Aber als ich versuchte, es in eine benutzerdefinierte Exchange zu ändern, bekomme ich keine Antwort auf diese Warteschlange zurück. Um es zu testen, habe ich dieses sehr einfache Beispiel aus https://www.rabbitmq.com/tutorials/tutorial-six-python.html versucht, und ich fand, wenn ich einen Austausch anders als Standard verwende, bekomme ich keine Antwort. Bitte lassen Sie mich wissen, ob ich noch etwas tun sollte. DankCorrelation_id in rabbitmq
../rabbitmq $ ./rpc_client.py 1
(' [x] Requesting fib%s', '1')
[.] Got 1
../rabbitmq $ ./rpc_client.py 19
(' [x] Requesting fib%s', '19')
.../rabbitmq $ ./rpc_server.py
[x] Awaiting RPC requests
[.] fib(1)
[.] fib(19)
Wenn ich meinen Austausch ändern = ‚test‘ ‚= auszutauschen‘ (Test der Austausch ich erstellt) in den Skripten, bemerkte ich die Verbraucher nur sits..If I Standard verwenden erhalte ich eine Antwort zurück ..
../rabbitmq $ ./rpc_server.py
[x] Awaiting RPC requests
../rabbitmq $ ./rpc_client.py 1
(' [x] Requesting fib%s', '1')
ich sah auch bei correlationId and temporary queues in RPC model - AMQP
Sie müssen wahrscheinlich eine Bindung in Ihre Anforderungswarteschlange zum neuen Austausch hinzufügen. – eandersson