原因
- 本地和服务器同时启动的话,就会导致同一个定时任务执行两次,需要使用配置项不同环境初步初始化定时任务
定时任务实现类
- 程序启动的时候,自动创建所有的定时任务
- 这里设置,根据
配置
项,确定创不创建定时任务
@Slf4j
@Service
public class SysJobServiceImpl implements ISysJobService
{
@Value("${schedule.enabled}")
private Boolean scheduleEnableFlag;
@PostConstruct
public void init() throws SchedulerException, TaskException
{
scheduler.clear();
if (scheduleEnableFlag) {
List<SysJob> jobList = jobMapper.selectJobAll();
for (SysJob job : jobList)
{
ScheduleUtils.createScheduleJob(scheduler, job);
}
log.info("【定时任务已启动】");
} else {
log.info("【定时任务未启动】");
}
}
}
application-dev.yml
schedule:
enabled: false
application-prod.yml
schedule:
enabled: true