admin管理员组

文章数量:1530842

Cron方式实现

  • 一、node-schedule简介
  • 二、Cron方式用法
    • 1.基本使用:
      • (1)代码实现
      • (2)参数详解
    • 2.事件范围
      • (1)代码写法
      • (2)参数详解
    • 3.多个时间点
      • (1)代码写法
      • (2)参数详解

一、node-schedule简介

npm官方网址: https://www.npmjs/package/node-schedule
node-schedule可以用来在nodejs中实现定时器,虽然我们可以通过setTimeInterval实现,但是使用node-schedule可以更加方便的实现在具体的时间点来进行相应的操作
安装:
npm install node-schedule --save 或者 yarn add node-schedule

二、Cron方式用法

1.基本使用:

(1)代码实现

const schedule = require('node-schedule');
function scheduleCronStyle(){ // 每分钟的第30秒触发
  schedule.scheduleJob('30 * * * * *', function(){
    console.log('scheduleCronStyle:' + new Date());
  });
}
scheduleCronStyle();

参数详解:

schedule.scheduleJob('* * * * * *', function(){
  });

(2)参数详解

一共6个*分别代表:
second (0 - 59, OPTIONAL)
minute (0 - 59)
hour (0 - 23)
day of month (1 - 31)
month (1 - 12)
day of week (0 - 7) (0 or 7 is Sun)

例如:
每分钟的第30秒触发: 30 * * * * *
每小时的1分30秒触发 :30 1 * * * *
每天的凌晨1点1分30秒触发 :30 1 1 * * *
每月的1日1点1分30秒触发 :30 1 1 1 * *
每年的1月1日1点1分30秒触发 :30 1 1 1 1 *
每周1的1点1分30秒触发 :30 1 1 * * 1

2.事件范围

(1)代码写法

function scheduleCronStyleRange(){ // 每分钟的1-10秒进行调用
  schedule.scheduleJob('1-10 * * * * *', function(){
    console.log('scheduleCronStyleRange:' + new Date());
  });
}
scheduleCronStyleRange();

(2)参数详解

使用‘-’连接的数字代表范围,其他参数同理

3.多个时间点

(1)代码写法

// 每分钟的 0,10,20,30,40,50秒都会执行一次
function scheduleCronStyleInterval(){
  schedule.scheduleJob('0,10,20,30,40,50 * * * * *', function(){
    console.log('scheduleCronStyleInterval:' + new Date());
  });
}
scheduleCronStyleInterval();

(2)参数详解

使用,连接数字可以设置多个时间点执行函数,其他参数同理

本文标签: 定时器方式nodeschedulecron