首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用laravel从aws SQS中检索队列?

问如何使用laravel从aws SQS中检索队列?
EN

Stack Overflow用户
提问于 2017-06-28 09:19:22
回答 1查看 1.4K关注 0票数 0

在我的客户机服务器中,我使用Artisan::queue向AWS发送队列。在.env文件中,我配置了QUEUE_DRIVER=sqs,在config/queue.php文件中配置了如下所示。

代码语言:javascript
复制
'default' => env('QUEUE_DRIVER', 'sqs'),

'sqs' => [
        'driver' => 'sqs',
        'key' => 'MY_AWS_KEY',
        'secret' => 'MY_AWS_SECRET',
        'prefix' => 'https://sqs.us-west-2.amazonaws.com/1234567890',
        'queue' => 'queue-name',
        'region' => 'us-west-2',
    ],

现在,当我从Controller调用Artisan::queue时,我看到消息是在SQS中创建的。我可以在AWS控制台中看到它们,它们如下所示。

代码语言:javascript
复制
{"job":"Illuminate\\Foundation\\Console\\QueuedJob",
 "data":[{"some_data_key":"some_data_value"}]}

到目前为止一切都很好。但是我的工作层从不接收数据。我已经在Worker tier>Configuration>Worker中配置了以下详细信息:

代码语言:javascript
复制
Worker queue: queue-name
Worker queue URL: https://sqs.us-west-2.amazonaws.com/1234567890/queue-name
HTTP path: /worker

在这里,我的问题是我总是在/worker地址上得到404个错误。一旦发送消息,我就会在AWS SQS控制台中的“消息在飞行中”中看到一个计数,当我检查Worker层的日志文件时,我会看到

代码语言:javascript
复制
`127.0.0.1 (-) - - [28/Jun/2017:08:37:10 +0000] "POST /worker HTTP/1.1" 404 204 "-" "aws-sqsd/2.3"`

我检查了对/worker的post请求是否返回错误,但它在不同的服务器上工作正常(我无法签入工作层,因为我没有它的URL地址)。此时,员工层服务器只有

代码语言:javascript
复制
Route::match(['GET', 'POST'], 'worker', function () {
    return 200;
});

在routes/web.php中查看POST请求是否可以到达那里。

我做错什么了?我错过了什么吗?还是用错误的方式实现它?

EN

回答 1

Stack Overflow用户

发布于 2017-08-24 09:09:24

如果您正在使用您的工作环境中弹性豆茎,请确保您

配置->软件配置->容器选项->文档根

被设置为

/public

也可以检查您的路由提供者,比如

app/Providers/RouteServiceProvider.php

检查map()函数,查看是否正在创建指向适当文件的http路由。可以引用多个路由文件,如web.php和api.php等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44798429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档