我正在使用任何时候来计划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个计划的任务?
  • 最佳答案

    我认为您可以做两件事:

    (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
    

    关于ruby-on-rails - 通过gem安排顺序任务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5928697/

    10-17 00:40