我使用的是Laravel 5.4,在应用了 本包 在我的项目上部署到我的Elastic Beanstalk环境中,我的sss中的消息总是在飞行。我已经按照readme文件的要求做了一切......。
我遵循了每一个步骤,但在POST workerqueue请求时还是出现了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"
我也遇到过类似的问题,虽然我需要你发布一些代码,以及更多的细节来说明你所做的事情,但我可以描述我为解决自己的问题所采取的步骤。
你需要能够登录到你的实例,以便更快的进行一些故障排除,所以我建议你在你的机器上设置eb ssh,或者如果你使用的是VPC,创建一个Bastion主机,用来连接到内部EC2s。登录应用环境,进入varwwwhtml,运行php artisan tinker,手动调度一个作业。如果成功的话,你会得到一个带有排队消息id的响应,如果不成功,你会收到一个错误的输出,你可以进一步利用这个错误来排除问题。我还建议检查应用程序是否拾取了队列的环境值,所以检查你在部署配置中设置的队列,是否与你的应用程序试图发送请求的队列匹配。
如果消息成功发送到队列中,但你仍然有失败的作业,我建议你SSH进入worker环境的EC2机器,并尝试从那里也调度一个作业。在我个人的方案中,由于服务器内部问题,worker环境在错误的安全组中,所以没有访问数据库,导致500错误。
创建堡垒主机的说明。https:/vaughanj10.github.iocreating-a-bastion-host-for-aws。