我可以捕获错误并继续下一个Rake任务吗?

问题描述 投票:0回答:1

我在另一个Rake任务中调用Rake任务,如下所示:

namespace :test do
  task :migrate do
    Rake::Task['A:migrate'].invoke
    Rake::Task['B:migrate'].invoke
  end
end

我想知道的是,即使先前的任务失败,我是否也可以继续执行下一个Rake任务。例如,A:migrate中有错误,我想捕获并记录下来,但继续使用B:migrate。我该怎么办?

ruby rake
1个回答
1
投票

Rake只是Ruby,因此您可以使用Ruby的错误处理功能。

namespace :test do
  task :migrate do
    begin
      Rake::Task['A:migrate'].invoke
    rescue => e
      log(e)
    end
    Rake::Task['B:migrate'].invoke
  end
end
© www.soinside.com 2019 - 2024. All rights reserved.