我正在尝试使用AWS SQS和EB Worker环境设置Laravel 4.2队列。我正在将作业从另一台服务器推入队列,我希望工作环境能够执行它。但到目前为止看起来工作人员试图执行它,但由于某种原因在访问日志中出现405错误...
我正在尝试获得一个非常简单的测试代码...在工作人员环境中。我只是使用队列配置和东西以及这个类来完全清理Laravel安装:
class TestQueue {
public function fire($job, $data)
{
File::append(storage_path().'/sqs_push.txt', $data['date']);
$job->delete();
}
}
现在在主服务器上,我想要推送,我有这个:
public function getTestQueue(){
$data = ['date' => date('Y-m-d H:i:s')];
$queue = \Queue::push('TestQueue', $data);
var_dump($queue);
}
在我推出的工作人员
上php artisan queue:listen
当我运行该方法时,它将它添加到SQS队列(我可以在SQS控制台中看到它)并且工作者尝试执行它,但我看到的只是访问日志中的405个错误... 也许我在队列设置中做错了什么?有人可以帮帮我吗?
答案 0 :(得分:0)
错误405代表“MethodNotAllowed”,其中不允许指定的方法。由于您已经提到主服务器成功将消息发送到SQS(您已通过控制台验证了它),因此我将提供实现工作线程的解决方案。这是取自GitHub中的this repository。看一下worker.php文件。
MyBtnListener