nodejs定时任务 node-schedule

每分钟第一秒执行
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{
        //业务逻辑

    }
};

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值