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”}这么一点

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

为什么不直接用 mq组件往里面写数据
rabbitmq.shujuwajue.com/ying-yong-...

1年前 评论
bluememory (楼主) 1年前
哪吒的狗腿子 (作者) 1年前
讨论数量: 4

为什么不直接用 mq组件往里面写数据
rabbitmq.shujuwajue.com/ying-yong-...

1年前 评论
bluememory (楼主) 1年前
哪吒的狗腿子 (作者) 1年前
panda-sir

别用 直接用rabbitmq laravel的是把整个对象的执行方法序列化存起来了 取的时候 反序列化后再直接执行

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!