在指定的时间间隔上午8点到晚上8点之间的4次cron工作

时间:2011-02-21 19:13:14

标签: cron quartz-scheduler crontrigger cronexpression

我需要每天“x”次工作。工作时间是每天(比如'y'小时)在上午8点到晚上8点之间。 我阅读了cron之间的文档无法弄清楚如何放置“时间间隔”。任何建议或一个好的教程应该是非常有用的。我可以弄清楚这一点。

在教程中找到了这个。我相信这将满足需求

SimpleTrigger simpleTrigger = new SimpleTrigger("simpleTrigger", "triggerGroup-s1");
            simpleTrigger.setStartTime(d);
            simpleTrigger.setRepeatInterval(1000*60*60*24);
            simpleTrigger.setRepeatCount(15);
                simpleTrigger.setEndTime(new Date(ctime + 60000L));
            simpleTrigger.setPriority(10);
            scheduler.scheduleJob(jobDetail, simpleTrigger);
                    scheduler.start();

我怎样才能修改表达式以达到我的目的。

2 个答案:

答案 0 :(得分:3)

您的示例中有*,您需要设置开始/结束时间:

0 8-20/y * * *

y替换为运行之间的小时数应该没问题。如果你有一些奇怪的时间,比如"运行之间的1小时15分钟,这将会很痛苦 - 可能每次都更容易计算并明确输入。

答案 1 :(得分:0)

我不知道你可以用cron表达来表达这个。 但是,您可以使用多个Quartz触发器来实现此目的。