【发布时间】:2017-01-23 23:31:11
【问题描述】:
我正在运行 Laravel 5.3。我正在尝试测试队列作业,并且我已将队列配置为使用 Amazon SQS。我的应用程序能够将作业推送到队列中,并且我可以在 SQS 中看到该作业。但它会留在那里,永远不会被处理。我试过运行php artisan queue:work、queue:listen、queue:work sqs...他们都没有将工作从队列中弹出。我正在使用 Homestead 在本地进行测试。处理来自 SQS 的作业有技巧吗?
【问题讨论】:
-
您是否遵循了捕获失败作业的流程?另外,添加
--tries=1用于测试目的。后者不会解决您的问题,但它会阻止您的日志无休止地填满,并阻止代码损坏的问题阻止管道的其余部分被处理。 -
您是否将作业分派到特定的队列名称中?
-
另外,请确保您指定了默认队列驱动程序,并且您设置并仔细检查了 SQS 配置的所有参数,而不是默认设置。如果问题不存在,也许您可以发布用于创建队列和配置的代码(显然在发布之前替换您的凭据)
-
@NestorMataCuthbert 我没有推送到特定的队列名称。只是默认。我能够使用
artisan queue:listen sqs让它工作。这将从队列中弹出并处理作业。但它仍然不适用于artisan queue:work sqs。莫名其妙…… -
我遇到了同样的问题。你发邮件了吗?会不会是您的邮件发件人已达到上限?我认为这就是我看到的问题。虽然不是 100% 确定
标签: php laravel amazon-web-services amazon-sqs