NodeJS 推送队列,由 Laravel worker 消费 [英] NodeJS push queue, consumed by Laravel worker

查看:43
本文介绍了NodeJS 推送队列,由 Laravel worker 消费的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

I'm trying to consume messages sent to SQS by a Node App. So the "push" action is performed by Node App on the server A, the "listen" action by Laravel App on server B.

My problem: I don't know how to format the payload to be consumed with php artisan queue:work.

Has anyone experienced this before and found a solution?

Thanks!

解决方案

Found it! After some tests I finally menage to read messages from the queue.

Basically, the payload must have a job property with the class responsible for executing the work and a data property with the actual data. Something like:

var payload = {
        job: 'App\Jobs\MyTestJob@handle',
        data: {user: foo, email: bar@example.com}
    };

Then the payload will be encoded to json string and sent to SQS.

On Laravel side the Job class look like this:

public function handle($job, $data){}

The queue handler will automatically decode and inject the properties on the method specified in the payload.job. If no method is specified Laravel will try to run ::fire() method.

这篇关于NodeJS 推送队列,由 Laravel worker 消费的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆