Laravel 4.2使用EB工作环境

时间:2015-05-20 12:58:40

标签: amazon-web-services laravel-4 amazon-sqs amazon-elastic-beanstalk

我正在尝试使用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个错误... 也许我在队列设置中做错了什么?有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

错误405代表“MethodNotAllowed”,其中不允许指定的方法。由于您已经提到主服务器成功将消息发送到SQS(您已通过控制台验证了它),因此我将提供实现工作线程的解决方案。这是取自GitHub中的this repository。看一下worker.php文件。

MyBtnListener