运行 一个接一个的 rake 任务完成

Run one rake task after another completes

我正在尝试拆分我的抽佣任务,

我想做的是在 rake 任务完成后,它会触发另一个 rake 任务。

这可能吗?如果可能的话怎么办?

您可以使用 enhance 将一项任务与其他任务一起扩展:

task :extra_behavior do
  # extra
end

Rake::Task["first:task"].enhance do
  Rake::Task[:extra_behavior].invoke
end

将任务作为参数传递给增强会导致它 运行 在您正在“增强”的任务之前。

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

参考:Rake Task enhance Method Explained