我正在使用Quartz 2 Scheduler来计划任务。以下是我需要的。


用户单击按钮时安排工作。
该作业应安排为每3天在上午8点运行。


以下是我的编码方式。一旦用户单击Web应用程序中的按钮,它将执行(当然还有其调度程序)

Trigger passportTrigger1 = newTrigger()
                 .withIdentity(passportTriggerKey1)
                 .withSchedule(simpleSchedule().withIntervalInHours(3*24).repeatForever())
                 .startAt(todayAt(8,0,0)).build();


但是,您可以看到我使用了startAt(todayAt(8,0,0))。如果用户今天凌晨8:00打开调度程序,会发生什么情况?该作业将立即安排,还是永远不会安排?

最佳答案

您还可以检查当前时间:如果是在上午8点之前startAt(todayAt(8, 0, 0),否则是startAt(tomorrowAt(8, 0, 0))

关于java - 计划任务在给定时间每3天运行一次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29093015/

10-12 04:58