热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

利用JavaScript实现定时任务的高效执行方法(代码可直接复用)

//配置项var cOnfig={ time:"01:00:00",//每天几点执行 interval:1,//隔几天执行一次 runNow:true//是否立即执行};timerT

//配置项
var cOnfig={
time:"01:00:00",//每天几点执行
interval:1,//隔几天执行一次
runNow:true//是否立即执行
};
timerTask(config);
//定时任务逻辑
function timerTask(config){
if(config.runNow){
//如果配置了立刻运行则立刻运行任务函数
cleanLog();
}
//获取下次要执行的时间,如果执行时间已经过了今天,就让把执行时间设到明天的按时执行的时间
var nowTime=new Date().getTime();
var timePoint=config.time.split(":").map(i=>parseInt(i));

var recent =new Date().setHours(...timePoint);//获取执行时间的时间戳

if(recent <= nowTime){
recent+=24*60*60*1000;
}

//未来程序执行的时间减去现在的时间,就是程序要多少秒之后执行
var doRunTime=recent-nowTime;
setTimeout(function(){
cleanLog();
//没隔多少天在执执行
var intTime=config.interval*24*60*60*1000;
setInterval(function(){
cleanLog();
},intTime);
},doRunTime);
}
//清空日志逻辑
function cleanLog(){
//清空web运行程序的日志
console.log("程序执行了!");
}


推荐阅读
author-avatar
_Terr1鄭x宜_F
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有