如何在生产中的ruby-on-rails应用程序中运行rake?

时间:2016-04-18 09:29:52

标签: ruby-on-rails ruby postgresql elasticsearch rake

我想弄清楚如何在生产中部署我的ruby-on-rails应用程序。

操作系统是ubuntu,应用程序使用Postgres。我已经设法部署应用程序,并能够登录等...但有一些功能不起作用(我是应用程序和rails的新手)。 该应用程序使用弹性搜索,我已经安装并且服务正在运行(我可以通过http://localhost:9200访问该页面)。但是当应用程序尝试访问弹性搜索的组件时,我会收到错误。

目录/ app / lib / tasks中有一个rake文件,它有几个文件,其中一个是elasticsearch.rake

namespace :app do
  desc "Bootstraping Elasticsearch index"
  task(:elasticsearch => :environment) do

    Image.__elasticsearch__.create_index! force:true
    Image.import

    CaseStudy.__elasticsearch__.create_index! force:true
    CaseStudy.import

  end
end

正如文件中的描述所说,这引导了弹性搜索索引。
我不知道的是如何在生产环境中运行所有这些?还有其他的rake文件也是如此,我想知道如何运行它们。

2 个答案:

答案 0 :(得分:13)

您应该转到生产中项目目录的根路径,然后输入以下命令:

RAILS_ENV=production bundle exec rake app:elasticsearch

注意:

要检查可用的佣金任务列表,您可以输入rake -T

答案 1 :(得分:6)

rake task-name RAILS_ENV=production