Cron没有与分钟合作

时间:2011-09-29 05:26:19

标签: java spring cron

(更新:显然在cron作业中没有秒。但是,我的问题现在变成了:cron用这种方式解释了什么?谢谢你)

我有两个cron触发器,一个应该在另一个之前进入。

首先,我每隔59秒就有任务1

*/59 * * * * ?

任务2 每59秒进入一次,但偏移15秒。

15/59 * * * * ?

这很好用。没什么好抱怨的。现在我想将这些值移到分钟列。这一次,只有一分钟的偏移,这可以忽略不计,因为任务每59分钟重复一次。

任务1

* */59 * * * ?

任务2

* 1/59 * * * ?

突然,任务1 不断开火,任务2 根本不会开火。上述变化似乎是影响这一点的唯一因素。

2 个答案:

答案 0 :(得分:2)

* */59 * * *表示在当前小时内每分钟运行一次(第一个*是分钟),然后等待59个小时再次运行。

* 1/59 * * *表示在第一个小时内每分钟运行一次(你没有进入,因此任务2永远不会激活),然后在50小时后的每小时运行一次。

我认为问题仍然是秒/分钟混乱。

编辑:注意某些版本的Cron不接受'/'前面的数字...它必须是一个范围。因此,对于您的用例,我会使用*/59 * * * *1-59/59 * * * *

答案 1 :(得分:1)

因为没有

*    *    *    *    *  command to be executed
┬    ┬    ┬    ┬    ┬
│    │    │    │    │
│    │    │    │    │
│    │    │    │    └───── day of week (0 - 7) (Sunday=0 or 7)
│    │    │    └────────── month (1 - 12)
│    │    └─────────────── day of month (1 - 31)
│    └──────────────────── hour (0 - 23)
└───────────────────────── min (0 - 59)

http://en.wikipedia.org/wiki/Cron