【发布时间】:2011-08-21 04:26:03
【问题描述】:
我正在使用when来为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 个任务?
【问题讨论】:
-
为什么不将第二个命令滚动到第一个命令中呢?在我看来,如果它们在逻辑上相关,你应该把它们放在一起。更好的是,制作一个调用这两个的包装器任务并安排它。
-
我不想结合命令“do_this”和 rake“do_that”。我将命令“do_this”用于其他事情。当然,我可以用两者创建一个命令“do_something_else”,但我只想知道是否可以在命令之间进行逻辑与操作。
-
嗯,首先,你想单独使用其中一个 rake 任务的论点在这里并不适用,因为这两个任务在逻辑上是耦合的。要回答您的第二个陈述,因为所有时间都是打印出一个 crontab 命令,而 cron 不支持逻辑与,不,这是不可能的。
标签: ruby-on-rails ruby cron whenever