如何在生产环境中运行 Ruby on Rails 应用程序中的 Rake?

8
我想找出如何在生产环境中部署我的 Ruby on Rails 应用程序。
操作系统是 Ubuntu,应用程序使用 Postgres。我已经成功地部署了应用程序,并可以登录等操作,但有些功能无法正常工作(因为我对应用程序和 Rails 不够熟悉)。
该应用程序使用 ElasticSearch,我已经安装并运行了服务(可以通过 http://localhost:9200 访问页面)。但当应用程序尝试访问 ElasticSearch 的组件时,会出现错误。
在 /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

正如文件中的描述所说,这会启动 ElasticSearch 索引。
我不知道的是,如何在生产环境中运行所有的内容?还有其他 rake 文件,我想知道如何运行它们。


我该如何避免降级?你需要我提供更多信息吗? - A j
2个回答

17

生产环境下,您应该进入项目目录的根路径并输入以下命令:

RAILS_ENV=production bundle exec rake app:elasticsearch

注意:

要查看可用的rake任务列表,可以输入rake -T


7
rake task-name RAILS_ENV=production

当我运行 rake elasticsearch RAILS_ENV=production 时,我会得到以下错误。rake 中止!不知道如何构建任务 'elasticsearch.rake'。 - A j

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接