由Laravel worker消耗的NodeJS推送队列

时间:2015-09-22 15:06:05

标签: php node.js laravel queue

我尝试使用Node App发送给SQS的消息。所以"推"动作由服务器A上的节点应用程序执行," listen" Laravel App在服务器B上的操作。

我的问题:我不知道如何使用php artisan queue:work格式化有效负载。

以前有没有人经历过这个并找到解决方案?

谢谢!

1 个答案:

答案 0 :(得分:2)

发现它!经过一些测试后,我终于打算从队列中读取消息。

基本上,有效负载必须具有作业属性,其中负责执行工作的类和具有实际数据的数据属性。类似的东西:

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

然后有效载荷将被编码为json字符串并发送到SQS。

在Laravel方面,Job类看起来像这样:

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

队列处理程序将自动解码并注入payload.job中指定的方法的属性。如果没有指定方法,Laravel将尝试运行:: fire()方法。