quartz設置一段時間內執行

   最近有個需求,需要在一段時間內(如8月1號到10號),每天間隔一定時間(如30分鐘)執行指定次數(5次)的任務。

用quartz來實現任務調度,CronTrigger和Simple Trigger不太滿足要求,看了下quartz源碼,發現quartz有一個

DailyTimeIntervalTrigger的Trigger可以滿足要求,Trigger設置如下:
Trigger trigger = TriggerBuilder.newTrigger()
                .withIdentity(jobName)
                .startNow()
                .endAt(new Date(endTime))
                .withSchedule(DailyTimeIntervalScheduleBuilder
                        .dailyTimeIntervalSchedule()
                        .startingDailyAt(TimeOfDay.hourAndMinuteAndSecondFromDate(new Date(startTime)))
                        .withIntervalInSeconds(intervalInMinutes)
                        .endingDailyAfterCount(repeatCount))
                .build();

基中startTime,endTime指定任務的時間段,如2019-08-01 1:30:00 ,2019-08-10 1:30:00, intervalInMinutes指定間隔多少秒, repeatCount指定一天執行幾次

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章