在项目中遇到了使用定时器的场景,而且可能每个人都会有一个同时间的不同的事件,所以需要开启不同的定时器,
在这里记录一下如何防止单人多次任务开启:
在开始任务时,先关闭任务:
schedule.cancelJob(userid); //所有的任务根据唯一的userID区分
设置任务时添加唯一的userID:
schedule.scheduleJob(userid,'20 * * * * 1-6',()=>{
var myDate = new Date();
console.log(userid+':::'+myDate)
});
需要主动关闭任务时:
schedule.cancelJob(userid);