gpt4 book ai didi

cronexpression - 如何编写多个cron表达式

转载 作者:行者123 更新时间:2023-12-01 11:44:57 25 4
gpt4 key购买 nike

在周一至周六的晚上 7 点至上午 9 点以及周日全天执行作业。

我尝试输入多个 cron 表达式,但它不起作用。谁能帮我解决这个问题?

1. " * * 19-8 ? * MON,TUE,WED,THU,FRI,SAT "
2. " * * * ? * SUN "

最佳答案

由于您使用的是 Quartz ,您可以创建多个不同的 CronTriggers,并将它们全部安排到您需要的工作中。
例如(将 cron 表达式更改为您需要的表达式)

SchedulerFactory sf = new StdSchedulerFactory();
Scheduler sched = sf.getScheduler();

JobDetail job = newJob(SimpleJob.class)
.withIdentity("job1", "group1")
.build();

Set<Trigger> triggers = new HashSet<>();

CronTrigger trigger = newTrigger()
.withIdentity("trigger1", "group1")
.withSchedule(cronSchedule("0/20 * * * * ?"))
.build();
triggers.add(trigger1);

CronTrigger trigger2 = newTrigger()
.withIdentity("trigger2", "group1")
.withSchedule(cronSchedule("15 0/2 * * * ?"))
.build();
triggers.add(trigger2);

CronTrigger trigger3 = newTrigger()
.withIdentity("trigger3", "group1")
.withSchedule(cronSchedule("0 0/2 8-17 * * ?"))
.build();
triggers.add(trigger3);

scheduler.scheduleJob(job, triggers, false);

您不能使用多个 CronExpressions 创建一个触发器。

关于cronexpression - 如何编写多个cron表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16110849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com