9

我正在使用无论何时为 Rails 应用程序安排任务。

我有一个任务:

every 24.hours do
   command "do_this"
   rake "do_that"
end

我的观点是,当我将它写入我的 crontab 时,无论何时使用 -w,我都会看到它会生成两个同时运行的独立任务。问题是,两者在逻辑上都是一个序列,这意味着,如果命令“do_this”已经成功运行,rake 任务“do_that”应该运行。

我尝试像命令“do_this”&& rake“do_that”一样联系两者,但我收到了语法错误。

  • 是否存在任何技巧来在任何时候创建任务之间的这种依赖关系?

  • crontab 是同时、并行执行作业还是处理队列中同时安排的 N 个任务?

4

1 回答 1

8

我认为你可以做两件事:

(1) 从 rake 任务运行命令:

task :do_that => :environment do
  system "do_this"
  ...
end

并将您的 schedule.rb 文件简化为:

every 24.hours do
   rake "do_that"
end

(2) 从命令行运行一切:

every 24.hours do
  command "do_this && rake do_that"
end
于 2011-05-09T20:50:01.017 回答