gpt4 book ai didi

java - 如何在每个月的每个工作日运行 quartz 作业

转载 作者:行者123 更新时间:2023-11-29 04:09:54 25 4
gpt4 key购买 nike

我需要运行一个需要在每个月的第一个工作日运行的工作,我还需要删除假期并获得每个月的第一个工作日。

FE :5 月 1 日是假期,因此该作业需要在 5 月 2 日运行。

对于我使用以下代码的其他工作。

 public CronTriggerFactoryBean testBean() {
CronTriggerFactoryBean bean = new CronTriggerFactoryBean();
bean.setJobDetail(test().getObject());
bean.setName("test");
bean.setGroup("test");
bean.setCronExpression("0 45 3 ? * *");
return bean;
}

有什么办法可以解决这个问题吗?

最佳答案

CRON 不支持也可能永远不会支持任何识别当前或给定位置的假期是否存在的机制。假期在国家之间不一致,有时甚至在省份之间(通常是地理上较大的国家)。

对于像 CRON is 这样易于使用的指定表达式,此功能将非常复杂。

您唯一可以做的事情是从星期一到星期五 (2-6) 每天触发,而不考虑假期,并在给定的工作中执行一些额外的假期检查。如果2-6MON-FRI表达式不起作用,使用 2,3,4,5,6 .

bean.setCronExpression("0 45 3 ? * 2-6"); 
// At 03:45:00am, every day between Monday and Friday, every month

免责声明:CRON的一周从周日开始(1)。

关于java - 如何在每个月的每个工作日运行 quartz 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55723020/

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