我正在尝试拆分我有的rake任务,
我想要做的是在rake任务完成后,它会触发另一个rake任务。
这是可能的,如果是这样的话?
答案 0 :(得分:5)
您可以使用enhance
将一项任务扩展到其他任务:
task :extra_behavior do
# extra
end
Rake::Task["first:task"].enhance do
Rake::Task[:extra_behavior].invoke
end
答案 1 :(得分:0)
将任务作为参数传递以增强功能会使其在您“增强”任务之前运行。
Rake::Task["task_A"].enhance(["task_B"])
# Runs task_B
# Runs task_A
传递要增强的任务会使它在您正在“增强”的任务之后运行。
Rake::Task["task_A"].enhance do
Rake::Task["task_B"].execute
end
# Runs task_A
# Runs task_B