gut ... versuchen Sie dieses einfache Beispiel
# app/config.yml
old_sound_rabbit_mq:
connections: %rabbitmq_connections%
producers: %rabbitmq_producers%
consumers: %rabbitmq_consumers%
parameters:
# connection parameters
rabbitmq_connections:
default: { host: 'localhost', port: 5672, user: 'guest', password: 'guest', vhost: '/' }
# define producers
rabbitmq_producers:
sample:
connection: default
exchange_options: {name: 'exchange_name', type: direct, auto_delete: false, durable: true}
# define consumers
rabbitmq_consumers:
sample:
connection: default
exchange_options: {name: 'exchange_name', type: direct, auto_delete: false, durable: true}
queue_options: {name: 'sample', auto_delete: false}
callback: rabbitmq.callback.service
dann sollten Sie Ihren Rückruf-Service definieren. fühlen Sie sich frei, um es in app/config.yml
services:
rabbitmq.callback.service:
class: RabbitMQ\Callback\Service
und ja. Sie sollten diesen Rückrufdienst schreiben. Hier ist eine einfache Implementierung. sollte genug sein, um zu verstehen und zu überprüfen, ob es für dich funktioniert.
dann sollten Sie Rabbitmq Server starten, Consumer ausführen und überprüfen wurde neue Exchange und Warteschlange hinzugefügt. Test Verbraucher laufen Sie
app/console rabbitmq:consumer sample --route="sample"
in Ihrem Controller ausgeführt werden soll (wo Sie Nachricht an RabbitMQ setzen nächste Code
# get producer service
$producer = $this->get('old_sound_rabbit_mq.sample_producer');
# publish message
$producer->publish(serialize(array('foo'=>'bar','_FOO'=>'_BAR')), 'sample');
Hoffe, es ist mehr oder weniger klar senden möchten, und werden Sie mit rabbitmq helfen.
. PS: es ist einfacher zu debuggen, wenn Sie rabbitmq Management-Plugin haben, wenn Sie keine haben, verwenden Sie die Konsolenbefehle wie rabbitmqctl
Warteschlangen/Börsen/Verbraucher zu überprüfen und so weiter ...
und wäre auch schön, Ihre Konfiguration für Produzenten/Verbraucher zu sehen. Rückruf-Service-Code auch.
Alles war in Ordnung in meinem Code, aber ich musste Verbraucher für laufen eine Weile und dann ging alles gut. Danke. –