红宝石 – 每当从偏移开始,每隔n分钟调度一个作业

为了惊人的目的,我正在努力安排工作,每5分钟运行一个2分钟的偏移量.那是我要1个工作运行1,6,11,16 ..而另一个运行在2,7,12,17 …

我找不到一个例子来做到这一点.所以我试过:

every 5.minutes,:at=> 1 do
 command "echo 'you can use raw cron sytax too'"
end

这似乎是有效的,但是所有的“:at”示例都期待着一个字符串格式的时间.以上是有效的做法,还是刚刚发生的工作,而且每个选项都不是真的支持起始时间.

解决方法

听起来你在这两个工作之间有依赖关系,所以有两种方法可以解决这个问题.如果你想运行在1,16等等,就像你的问题所在,那么只需使用raw cron语法:
every '0,5,10,15,20,25,30,35,40,45,50,55 * * * *' do
  command "echo 'you can use raw cron Syntax one'"
end

every '1,16,21,26,31,36,41,46,51,56 * * * *' do
  command "echo 'you can use raw cron Syntax two'"
end

但是,一旦第一个完成,最好执行第二个工作.这应该确保作业不重叠,第二个仅在第一个完成之后运行.

every 5.minutes do
  command "echo 'one' && echo 'two'"
end

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...