在给定时间每 3 天安排任务 运行

Scheduled task to run every 3 days at given time

我正在使用 Quartz 2 调度程序来安排任务。以下是我需要的。

  1. 在用户单击按钮时安排作业。
  2. 作业应安排在每 3 天 运行 上午 8 点。

下面是我的编码方式。一旦用户单击网络应用程序中的按钮,它就会执行(当然还有它的调度程序)

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

不过你可以看到我用了startAt(todayAt(8,0,0))。如果用户在今天上午 8 点之后打开调度程序,会发生什么情况?作业将立即安排还是永远不会安排?

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