feat(scheduler): 增加crm重点表的4 5点调度
This commit is contained in:
@@ -1,6 +1,12 @@
|
|||||||
package com.lanyuanxiaoyao.service.scheduler.configuration;
|
package com.lanyuanxiaoyao.service.scheduler.configuration;
|
||||||
|
|
||||||
import com.lanyuanxiaoyao.service.scheduler.quartz.compaction.*;
|
import com.lanyuanxiaoyao.service.scheduler.quartz.compaction.CrmFocusScheduleJob;
|
||||||
|
import com.lanyuanxiaoyao.service.scheduler.quartz.compaction.DailyScheduleJob;
|
||||||
|
import com.lanyuanxiaoyao.service.scheduler.quartz.compaction.DistributeScheduleJob;
|
||||||
|
import com.lanyuanxiaoyao.service.scheduler.quartz.compaction.FocusScheduleJob;
|
||||||
|
import com.lanyuanxiaoyao.service.scheduler.quartz.compaction.FocusUnVersionUpdateScheduleJob;
|
||||||
|
import com.lanyuanxiaoyao.service.scheduler.quartz.compaction.OdsFocusScheduleJob;
|
||||||
|
import com.lanyuanxiaoyao.service.scheduler.quartz.compaction.RemoveScheduledJob;
|
||||||
import com.lanyuanxiaoyao.service.scheduler.strategy.ScheduleStrategy;
|
import com.lanyuanxiaoyao.service.scheduler.strategy.ScheduleStrategy;
|
||||||
import com.lanyuanxiaoyao.service.scheduler.strategy.ScheduleStrategyImpl;
|
import com.lanyuanxiaoyao.service.scheduler.strategy.ScheduleStrategyImpl;
|
||||||
import com.lanyuanxiaoyao.service.scheduler.strategy.ScheduleStrategyVO;
|
import com.lanyuanxiaoyao.service.scheduler.strategy.ScheduleStrategyVO;
|
||||||
@@ -25,6 +31,8 @@ public class ScheduleStrategyProvider {
|
|||||||
ScheduleStrategyImpl.simple("focus_evening_schedule", "晚间重点表调度", FocusScheduleJob.class, "0 50 20,21,22 * * ?"),
|
ScheduleStrategyImpl.simple("focus_evening_schedule", "晚间重点表调度", FocusScheduleJob.class, "0 50 20,21,22 * * ?"),
|
||||||
// ODS重点表调度
|
// ODS重点表调度
|
||||||
ScheduleStrategyImpl.simple("ods_focus_schedule", "ODS 重点表调度", OdsFocusScheduleJob.class, "0 30 23 * * ?"),
|
ScheduleStrategyImpl.simple("ods_focus_schedule", "ODS 重点表调度", OdsFocusScheduleJob.class, "0 30 23 * * ?"),
|
||||||
|
// CRM重点表调度
|
||||||
|
ScheduleStrategyImpl.simple("crm_focus_schedule", "CRM 重点表补充调度", CrmFocusScheduleJob.class, "0 15 3,4 * * ?"),
|
||||||
// 忙时调度
|
// 忙时调度
|
||||||
ScheduleStrategyImpl.simple("focus_schedule", "重点表跨天调度", FocusUnVersionUpdateScheduleJob.class, "0 0,10,20,40 0,1 * * ?"),
|
ScheduleStrategyImpl.simple("focus_schedule", "重点表跨天调度", FocusUnVersionUpdateScheduleJob.class, "0 0,10,20,40 0,1 * * ?"),
|
||||||
ScheduleStrategyImpl.simple(false, "remove_scheduled", "跨天调度时及时删除已完成跨天的任务", RemoveScheduledJob.class, "0 * 0,1 * * ?")
|
ScheduleStrategyImpl.simple(false, "remove_scheduled", "跨天调度时及时删除已完成跨天的任务", RemoveScheduledJob.class, "0 * 0,1 * * ?")
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
package com.lanyuanxiaoyao.service.scheduler.quartz.compaction;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.lanyuanxiaoyao.service.common.Constants;
|
||||||
|
import com.lanyuanxiaoyao.service.common.utils.TableMetaHelper;
|
||||||
|
import com.lanyuanxiaoyao.service.forest.service.HudiService;
|
||||||
|
import com.lanyuanxiaoyao.service.forest.service.InfoService;
|
||||||
|
import com.lanyuanxiaoyao.service.scheduler.utils.ScheduleHelper;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import org.quartz.DisallowConcurrentExecution;
|
||||||
|
import org.quartz.JobExecutionContext;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.cloud.client.discovery.DiscoveryClient;
|
||||||
|
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 日常普通调度
|
||||||
|
*
|
||||||
|
* @author ZhangJiacheng
|
||||||
|
* @date 2023-05-11
|
||||||
|
*/
|
||||||
|
@DisallowConcurrentExecution
|
||||||
|
public class CrmFocusScheduleJob extends BaseScheduleJob {
|
||||||
|
private static final Logger logger = LoggerFactory.getLogger(CrmFocusScheduleJob.class);
|
||||||
|
|
||||||
|
private final DiscoveryClient discoveryClient;
|
||||||
|
private final InfoService infoService;
|
||||||
|
private final HudiService hudiService;
|
||||||
|
private final ObjectMapper mapper;
|
||||||
|
|
||||||
|
public CrmFocusScheduleJob(DiscoveryClient discoveryClient, InfoService infoService, HudiService hudiService, Jackson2ObjectMapperBuilder builder) {
|
||||||
|
this.discoveryClient = discoveryClient;
|
||||||
|
this.infoService = infoService;
|
||||||
|
this.hudiService = hudiService;
|
||||||
|
|
||||||
|
this.mapper = builder.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void schedule(DiscoveryClient discoveryClient, InfoService infoService, HudiService hudiService, ObjectMapper mapper, String comment) {
|
||||||
|
logger.info("Crm focus schedule");
|
||||||
|
ScheduleHelper.schedule(
|
||||||
|
discoveryClient,
|
||||||
|
infoService,
|
||||||
|
hudiService,
|
||||||
|
mapper,
|
||||||
|
meta -> TableMetaHelper.existsTag(meta.getTags(), Constants.TAGS_CRM_FOCUS),
|
||||||
|
comment
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void executeInternal(JobExecutionContext context) {
|
||||||
|
String now = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||||
|
schedule(discoveryClient, infoService, hudiService, mapper, "Crm focus schedule for " + now);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user