使用node-schedule实现node定时任务

在项目开发中,会遇到很多定时任务的工作。比如:定时导出数据、定时发送消息或邮件、定时备份等等,node-schedule是 Node.js 的一个 定时任务(crontab)模块,这里使用node-schedule实现在node中的定时任务

安装

npm install node-schedule --save

基本用法

引入

const schedule = require('node-schedule');

格式

*  *  *  *  *  *
┬  ┬  ┬  ┬  ┬  ┬
│  │  │  │  │  |
│  │  │  │  │  └ 星期几,取值:0 - 7,其中 0 和 7 都表示是周日
│  │  │  │  └─── 月份,取值:1 - 12
│  │  │  └────── 日期,取值:1 - 31
│  │  └───────── 时,取值:0 - 23
│  └──────────── 分,取值:0 - 59
└─────────────── 秒,取值:0 - 59(可选)

每天23:59:59执行任务

const test = () => {
    schedule.scheduleJob('59 59 23 * * *', () => {
        ...
    });
};
test();

获取任务执行时间

const test = () => {
    schedule.scheduleJob('* 1 * * * *', (fireDate) => {
        console.log('执行时间:从' + fireDate + '到' + new Date());
    });
};
test();

取消任务

test.cancel()

github

https://github.com/node-schedule/node-schedule