Laravel8使用rabbitmq消费者如何解析生产者给的数据?
版本:php7.4 + laravel8
场景:
使用laravel8作为生产者往队列塞数据:
$p = [
'name'=>'MQ'
];
Test::dispatch(json_encode($p))->onConnection('rabbitmq')
->onQueue('test-queue');
现在代码都是通的,消费者那边(使用node.js)也可以拿到数据,但是拿到的是这样的:
{"uuid":"d5537092-e538-43b6-9ad0-af38528b1737","displayName":"App\\Jobs\\Test","job":"Illuminate\\Queue\\CallQueuedHandler@call","maxTries":null,"maxExceptions":null,"failOnTimeout":false,"backoff":null,"timeout":null,"retryUntil":null,"data":{"commandName":"App\\Jobs\\Test","command":"O:13:\"App\\Jobs\\Test\":11:{s:6:\"params\";s:13:\"{\"name\":\"MQ\"}\";s:3:\"job\";N;s:10:\"connection\";s:8:\"rabbitmq\";s:5:\"queue\";s:10:\"test-queue\";s:15:\"chainConnection\";N;s:10:\"chainQueue\";N;s:19:\"chainCatchCallbacks\";N;s:5:\"delay\";N;s:11:\"afterCommit\";N;s:10:\"middleware\";a:0:{}s:7:\"chained\";a:0:{}}"},"id":"51aa19a2-524c-48a7-8983-b5faa5d5d4b9"}
他们那边很难拿出{“name”:”MQ”}这一块,因为这个数据是laravel丢出去的,应该要怎么做,他们拿到的就是{“name”:”MQ”}这么一点
为什么不直接用 mq组件往里面写数据
rabbitmq.shujuwajue.com/ying-yong-...