我在另一个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
。我该怎么办?
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