如何验证一系列rake任务是否正确运行?或者,有什么替代方案可以耙

时间:2015-08-18 14:24:49

标签: ruby-on-rails postgresql rake

有人在这里问过类似的问题:

https://github.com/jimweirich/rake/issues/257

维护者的答案是:

I am going to reject this since it allows you to use tasks in non-rake-like ways.

如果任务依赖于其他任务,那么使用rake的正确方法是什么。

task 'succeed' => ['db:drop','stats'] do something end

显示统计结果,即使Postgres引发错误,db:drop因活动连接而失败。

如果rake不适合系统维护,我应该使用哪些工具? 我需要能够运行数据库的备份,然后进行一些测试,然后删除数据库,最后从备份恢复。

嗨你理解我的问题看下面的片段

namespace :experiment do
  desc "TODO"
  task 'succeed' => ['stopme', 'stats'] do
    puts 'this and stats task should not run'
  end

  desc "TODO"
  task stopme: :environment do
    Rake::Task['db:drop'].invoke
  end
end

1 个答案:

答案 0 :(得分:2)

您可以像这样手动调用任务:

task :stats => :environment do
  Rake::Task['db:drop'].invoke rescue nil
  # do something
end