ठीक है ... तो आप अपने कॉलबैक सेवा परिभाषित करना चाहिए कि सरल उदाहरण
# 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
प्रयास करें। app/config.yml
services:
rabbitmq.callback.service:
class: RabbitMQ\Callback\Service
और हाँ में इसे रखने में संकोच न करें। आपको यह कॉलबैक सेवा लिखनी चाहिए। यहां सरल कार्यान्वयन है। समझने और जांचने के लिए पर्याप्त होना चाहिए यह आपके लिए काम करता है।
namespace RabbitMQ\Callback;
use OldSound\RabbitMqBundle\RabbitMq\ConsumerInterface;
use PhpAmqpLib\Channel\AMQPChannel;
use PhpAmqpLib\Message\AMQPMessage;
class Service implements ConsumerInterface
{
public function execute(AMQPMessage $msg)
{
var_dump(unserialize($msg->body));
}
}
तो आपको खरगोश सर्वर शुरू करना चाहिए, उपभोक्ता चलाएं और जांच नया एक्सचेंज और कतार जोड़ा गया था। परीक्षण उपभोक्ता को चलाने के लिए आप अपने नियंत्रक में
app/console rabbitmq:consumer sample --route="sample"
चलाना चाहिए (जहां
# get producer service
$producer = $this->get('old_sound_rabbit_mq.sample_producer');
# publish message
$producer->publish(serialize(array('foo'=>'bar','_FOO'=>'_BAR')), 'sample');
आशा है कि यह कम या ज्यादा स्पष्ट है और RabbitMQ के साथ तुम्हारी मदद करेगा अगले कोड डाल RabbitMQ को संदेश भेजना चाहते हैं।
पुनश्च:। यह डिबग करने के लिए यदि आप RabbitMQ प्रबंधन प्लगइन है आसान है अगर तुम नहीं, कंसोल उपयोग आदेशों rabbitmqctl
कतारों/आदान-प्रदान/उपभोक्ताओं की जांच और इतने पर करने के लिए की तरह है ...
और उत्पादकों/उपभोक्ताओं के लिए आपकी कॉन्फ़िगरेशन देखना भी अच्छा लगेगा। कॉलबैक सेवा कोड भी।
सबकुछ मेरे कोड में ठीक था लेकिन मुझे उपभोक्ता चलाने के लिए थोड़ी देर और फिर सब ठीक हो गया। धन्यवाद। –