每分钟第一秒执行
const schedule = require("node-schedule");
var rule = new schedule.RecurrenceRule();
rule.second = 1; // 秒
schedule.scheduleJob(rule, () => {
console.log(new Date().toLocaleString())
})
每10秒执行一次
const schedule = require('node-schedule');
// 定义规则
let rule = new schedule.RecurrenceRule();
rule.second = [0, 10, 20, 30, 40, 50]; // 每隔 10 秒执行一次
// 启动任务
let job = schedule.scheduleJob(rule, () => {
console.log(new Date().toLocaleString());
});
每小时的第30分钟执行一次
const schedule = require('node-schedule');
// 定义规则
let rule = new schedule.RecurrenceRule();
rule.minute = 30;
rule.second = 0;
// 启动任务
let job = schedule.scheduleJob(rule, () => {
console.log(new Date().toLocaleString());
});
每天0点执行一次
const schedule = require('node-schedule');
// 定义规则
let rule = new schedule.RecurrenceRule();
rule.hour =0;
rule.minute =0;
rule.second =0;
// 启动任务
let job = schedule.scheduleJob(rule, () => {
console.log(new Date().toLocaleString());
});
每月1号10点执行一次
const schedule = require('node-schedule');
// 定义规则
let rule = new schedule.RecurrenceRule();
rule.date = 1;
rule.hour = 10;
rule.minute = 0;
rule.second = 0;
// 启动任务
let job = schedule.scheduleJob(rule, () => {
console.log(new Date().toLocaleString());
});
每周一、三、五的0点和12点各一次
const schedule = require('node-schedule');
// 定义规则
let rule = new schedule.RecurrenceRule();
rule.dayOfWeek = [1,3,5];
rule.hour = [0,12];
rule.minute = 0;
rule.second = 0;
// 启动任务
let job = schedule.scheduleJob(rule, () => {
console.log(new Date().toLocalString());
});
每天6点——11点开启任务,并10s更新一次
const rule=new schedule.RecurrenceRule();
rule.hour =[6,16]; // 指定小时
rule.second=[0, 10, 20, 30,40,50,59]; // 指定秒数;
let endTime1 = new Date();
// 设置结束时间为下午5点,是为了手动判断当日计划是否完成
endTime1.setHours(16);
endTime1.setMinutes(59)
endTime1.setSeconds(58)
const jj=schedule.scheduleJob(rule,task1)
注:由于没有计划结束时间,需要设定结束时间,手动判断今日计划是否完成
const task1 = () => {
if(new Date().toLocaleString()>=endTime1.toLocaleString()){
//整个计划结束
}else{
//业务逻辑
}
};