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

How do I verify if a series of rake tasks ran correctly? Or, what alternatives are there to 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

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

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