【发布时间】:2014-10-14 02:48:02
【问题描述】:
我正在尝试从另一个 rake 任务中调用另一个 rake 任务。但是,我尝试调用的任务接受ENV 参数,而不是args。我要调用的文件在这里:https://github.com/elasticsearch/elasticsearch-rails/blob/master/elasticsearch-rails/lib/elasticsearch/rails/tasks/import.rb
我宁愿不重写 import.rb 所以我试图用它来调用它
Rake::Task["elasticsearch:import:model"].invoke("CLASS='User' SCOPE='active' FORCE=y")
但是,由于import.rb 使用了ENV 参数,所以没有传入参数。有没有办法可以传递 ENV 参数?这是 import.rb 中使用 ENV 参数的摘录。
total_errors = klass.__elasticsearch__.import force: ENV.fetch('FORCE', false),
batch_size: ENV.fetch('BATCH', 1000).to_i,
index: ENV.fetch('INDEX', nil),
type: ENV.fetch('TYPE', nil),
scope: ENV.fetch('SCOPE', nil) do |response|
【问题讨论】:
-
有机会试试答案吗?
标签: ruby-on-rails ruby-on-rails-3 elasticsearch rake