Laravel 5如何基于SQS消息数据运行命令
我正在尝试在laravel中设置一个基于sqs的消息队列。 我设置了queue.php文件,并且在运行artisan queue:listen命令时成功检索了消息。但是,我得到一个[ReflectionException],告诉我我的命令不存在 存储在SQS上用于检索的消息如下所示:Laravel 5如何基于SQS消息数据运行命令,laravel,queue,laravel-5,amazon-sqs,laravel-artisan,Laravel,Queue,Laravel 5,Amazon Sqs,Laravel Artisan,我正在尝试在laravel中设置一个基于sqs的消息队列。 我设置了queue.php文件,并且在运行artisan queue:listen命令时成功检索了消息。但是,我得到一个[ReflectionException],告诉我我的命令不存在 存储在SQS上用于检索的消息如下所示: {"job":"HELLOWORLD"} 我已经创建了一个laravel/artisan命令,其名称与上的说明相同 但是,当我运行命令时 php artisan queue:listen 从SQS检索消息时,
{"job":"HELLOWORLD"}
我已经创建了一个laravel/artisan命令,其名称与上的说明相同
但是,当我运行命令时
php artisan queue:listen
从SQS检索消息时,我得到以下错误
[ReflectionException]
Class HELLOWORLD does not exist
我的问题是如何让laravel识别这个命令,一旦这个命令起作用,如何让laravel看到SQS上包含的JSON消息中的其他项。
例如,让我们假设我有另一个名为“message”的索引,其中包含数据“hello from sqs”,使我的json看起来像
{"job":"HELLOWORLD","message":"Hello from SQS"}
我将如何访问另一个字段?
提前谢谢。Laravel中关于队列的文档非常稀少 答案是我做得完全错误。您需要使用Laravel队列文档中所示的
$contoller->dispatch
方法
如果您这样做,消息将正确形成,并且您创建的类中的任何变量仍将存在 为什么要将作业/类名指定为全大写?因为我不知道自己在做什么。queue部分没有指定作业(或通常的队列消息)的外观。
{"job":"HELLOWORLD","message":"Hello from SQS"}