tim*_*xyz 5 rake ruby-on-rails
:namespace我正在尝试在以下帖子的共享中运行 rake 任务列表: How do I run all raketasks? 。
但它不起作用。
每个帖子的推荐
desc "perform all scraping"
task :scrape do
Rake::Task[:scrape_nytimes].execute
Rake::Task[:scrape_guardian].execute
end
Run Code Online (Sandbox Code Playgroud)
我的情况的不同之处在于所有 rake 任务都在命名空间中。
耙子任务
namespace :get_ready do
task check_weather: :environment do
p 1
end
task make_lunch: :environment do
p 2
end
task start_car: :environment do
p 3
end
end
Run Code Online (Sandbox Code Playgroud)
尝试创建一个运行所有 rake 任务的 rake 任务,如下所示。
desc "Run all tasks"
task run_all: :environment do
Rake::Task[:check_weather].execute
Rake::Task[:make_lunch].execute
Rake::Task[:start_car].execute
end
Run Code Online (Sandbox Code Playgroud)
然后用rake run_all或运行rake get_ready。我尝试过的以下变体也不起作用。
Rake::Task[run_all:check_weather].executeRake::Task[:run_all, :check_weather].execute 有谁有在共享命名空间中运行一批 rake 任务的经验并且知道如何执行此操作?
它应该是:
desc "Run all tasks"
task run_all: :environment do
Rake::Task['get_ready:check_weather'].execute
Rake::Task['get_ready:make_lunch'].execute
Rake::Task['get_ready:start_car'].execute
end
Run Code Online (Sandbox Code Playgroud)
命名空间 是get_ready,check_weather,make_lunch是start_car该命名空间中的任务。
更优雅的解决方案是:
desc "Run all tasks"
task run_all_elegantly: [:environment, 'get_ready:check_weather', 'get_ready:make_lunch', 'get_ready:start_car']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2384 次 |
| 最近记录: |