无法在从SQS读取的生产环境中运行rails shoryuken gem

时间:2015-10-22 06:04:14

标签: ruby-on-rails amazon-web-services amazon-sqs shoryuken

shoryuken gem是一个后台工作者,用于从aws SQS读取的rails应用程序。

我可以在当地经营shoryuken工人,并且工作正常。当我在AWS的生产环境中运行它时,它不起作用。你如何在生产环境中运行shoryuken?我也认为这可能是我的aws安全组的一个问题。我们正在使用VPC。我应该允许SQS端口吗?如果是这样,SQS运行的端口是什么?我也想知道为什么它要问5432端口是我们Postgres DB的端口。

bundle exec shoryuken -r path_to_my_worker.rb -C config/shoryuken.yml --rails RAILS_ENV=production

could not connect to server: Connection refused
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?

2 个答案:

答案 0 :(得分:3)

尝试在RAILS_ENV=production之前传递shoryuken。如果你之后传递它,它将无法工作。

RAILS_ENV=production bundle exec shoryuken -r path_to_my_worker.rb -C config/shoryuken.yml --rails

答案 1 :(得分:0)

事实证明,shoryuken正在加载我的开发环境。当我将我的设置从生产中复制到database.yml中的开发时,它起作用了。这似乎不对。我不知道如何传递命令使其在生产模式下运行。我试过" RAILS_ENV =生产"和" -e production"已经,对shoryuken没有影响。