[英]Run a job 10 minutes after another job with quartz cron
基本上我想在 10 分钟后运行监控作业。 为此,我需要在原来工作的实际 cron 上增加 10 分钟。 这 10 分钟就像缓冲区,并期望它足以完成原始工作。 在其他情况下,我的监控工作会提醒我。 假设我使用石英 cron。
我尝试解析 cron,但它导致案例太多,并且很快变得难以理解。
但是 cron 表达式有 *,?, 范围, 增量, 逗号分隔的数字等是否建议这样做?
示例代码:
static String addMinutes(String period) throws ParseException {
CronExpression cron = new CronExpression(period);
String[] arr = period.split(" ");
String minutes = arr[1];
String hours = arr[2];
if(minutes.contains(",")){
} else if (minutes.contains("-")) {
} else if (minutes.contains("/")) {
} else if (isInteger(minutes)) {
int i = Integer.parseInt(minutes);
i = (i+9) % 59;
arr[1] = Integer.toString(i);
//change hour
if(i > 49 && isInteger(hours)){
int h = Integer.parseInt(hours);
h = (h+1) % 24;
arr[2] = Integer.toString(h);
}
}
return period;
}
如果您需要在一天中的特定时间运行这些任务,您可以试试这个:
00 16 * * * /home/theUser/alca/test1.sh
10 16 * * * /home/theUser/alca/test2.sh
这是两个工作,第二个工作应该在二线。 您会看到第一个作业将在每天下午 4 点运行,第二个作业将在下午 4:10 运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.