我正在尝试在laravel中设置基于sqs的消息队列。 我设置了我的queue.php文件,当我运行artisan queue:listen命令时,成功检索了消息。但是,我得到一个[ReflectionException]告诉我我的命令不存在。
存储在SQS上以供检索的消息如下所示:
{"job":"HELLOWORLD"}
我创建了一个laravel / artisan命令,其名称与http://laravel.com/docs/5.0/queues
上的说明相同php artisan make:command HELLOWORLD --queued
但是,当我运行命令
时php artisan queue:listen
当从SQS检索到消息时,我收到以下错误
[ReflectionException]
Class HELLOWORLD does not exist
我的问题是如何让laravel识别这个命令,一旦有效,我如何让laravel看到SQS中包含的JSON消息中的其他项目。 例如,假设我有另一个名为" message"的索引。数据"你好,来自sqs"让我的json看起来像
{"job":"HELLOWORLD","message":"Hello from SQS"}
我如何进入这个其他领域? 提前致谢。 Laravel中队列的文档很稀疏。
答案 0 :(得分:0)
答案是我完全错了。您需要使用Laravel队列文档中显示的$contoller->dispatch
方法。
如果您这样做,将正确形成消息,并且您创建的类中的任何变量仍将存在。