我使用Laravel 5.4并在将this package应用到我的项目并将其部署到我的Elastic Beanstalk环境后,我的sqs中的消息始终保持在飞行状态。我已经完成了自述文件所说的所有内容......
我遵循了每一步,但在POST /工作人员/队列请求中仍然出现错误500。
这是我的工作人员记录:
127.0.0.1 (-) - - [21/Jun/2017:01:36:59 +0000] "POST /worker/schedule HTTP/1.1" 200 92 "-" "aws-sqsd/2.3"
127.0.0.1 (-) - - [21/Jun/2017:01:37:59 +0000] "POST /worker/schedule HTTP/1.1" 200 92 "-" "aws-sqsd/2.3"
127.0.0.1 (-) - - [21/Jun/2017:01:38:59 +0000] "POST /worker/schedule HTTP/1.1" 200 92 "-" "aws-sqsd/2.3"
127.0.0.1 (-) - - [21/Jun/2017:01:39:59 +0000] "POST /worker/schedule HTTP/1.1" 200 92 "-" "aws-sqsd/2.3"
127.0.0.1 (-) - - [21/Jun/2017:01:39:54 +0000] "POST /worker/queue HTTP/1.1" 500 84128 "-" "aws-sqsd/2.3"
127.0.0.1 (-) - - [21/Jun/2017:01:40:59 +0000] "POST /worker/schedule HTTP/1.1" 200 92 "-" "aws-sqsd/2.3"
127.0.0.1 (-) - - [21/Jun/2017:01:41:13 +0000] "POST /worker/queue HTTP/1.1" 500 84128 "-" "aws-sqsd/2.3"
127.0.0.1 (-) - - [21/Jun/2017:01:41:13 +0000] "POST /worker/queue HTTP/1.1" 500 84128 "-" "aws-sqsd/2.3"
127.0.0.1 (-) - - [21/Jun/2017:01:41:13 +0000] "POST /worker/queue HTTP/1.1" 500 84128 "-" "aws-sqsd/2.3"
127.0.0.1 (-) - - [21/Jun/2017:01:41:13 +0000] "POST /worker/queue HTTP/1.1" 500 84128 "-" "aws-sqsd/2.3"
127.0.0.1 (-) - - [21/Jun/2017:01:41:13 +0000] "POST /worker/queue HTTP/1.1" 500 84128 "-" "aws-sqsd/2.3"
答案 0 :(得分:0)
我也遇到了类似的问题,虽然我需要你发布一些代码,以及有关你做什么的更多细节,但我可以描述我为解决自己的问题所采取的步骤。
您需要能够登录您的实例以便更快地进行故障排除,因此我建议您在计算机上设置eb ssh,或者如果您使用的是VPC,请创建一个Bastion主机,以便用于连接到内部EC2。登录到应用程序环境,转到/ var / www / html,运行php artisan tinker,然后手动调度作业。如果您成功,您将获得带有排队消息ID的响应,否则您将收到错误输出,您可以进一步使用该错误输出来解决问题。我还建议检查应用程序是否正在获取队列的环境值,因此请检查您在部署配置中设置的队列是否与您的应用尝试将请求发送到的队列相匹配。
如果消息成功发送到队列,但您仍然有失败的作业,我建议您通过SSH连接到工作环境EC2计算机,并尝试从那里发送作业。在我的个人场景中,工作者环境位于错误的安全组中,因此它无法访问数据库,导致500错误,原因是内部服务器问题。
创建堡垒主机的说明: https://vaughanj10.github.io/creating-a-bastion-host-for-aws/