随时随地安排顺序任务

时间:2011-05-08 16:24:44

标签: ruby-on-rails ruby cron whenever

我正在使用随时为rails应用程序安排任务。

我的任务如下:

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

我的观点是,当我把它写到我的crontab时,每当-w,我看到它生成了两个同时运行的独立任务。问题是,两者在逻辑上都是一个序列,这意味着,只要命令“do_this”已经成功运行,rake任务“do_that”应该运行。

我试图像“do_this”&&耙“do_that”但我收到语法错误。

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

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

1 个答案:

答案 0 :(得分:6)

我认为你可以做两件事:

(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