在前端开发中,我们经常需要处理定时任务,如定时备份、日报生成等等。node-schedule 是一个非常实用的 npm 包,可以帮助我们自动化处理这些定时任务。本文将介绍如何使用 node-schedule。
安装 node-schedule
首先,我们需要安装 node-schedule。在命令行中输入以下命令:
npm install node-schedule
使用 node-schedule
使用 node-schedule 非常简单,我们只需要引用该包,创建一个计划(schedule),并设置任务即可。
创建计划
在引用 node-schedule 后,我们可以使用 scheduleJob
方法创建一个计划。
const schedule = require('node-schedule'); const job = schedule.scheduleJob('0 0 1 * *', function() { console.log('今天是每月第一天的零点零分,任务已执行!'); });
上面的代码创建了一个计划,每月的第一天 0 点执行,它会输出一段文本。
指定时间触发
我们可以使用 cron 表达式指定计划的执行时间。cron 表达式是一个包含 6 或 7 个时间字段的字符串,表示以什么时刻执行。
下面是几个常见的 cron 表达式:
* * * * * *
每秒钟执行0 * * * * *
每分钟的第 0 秒执行0 0 * * * *
每小时的第 0 分 0 秒执行,等同于0 * * * * *
0 0 1 * * *
每天的 1 点 0 分 0 秒执行0 0 1 * * 1
每周一的 1 点 0 分 0 秒执行0 0 1 1 * *
每年的 1 月 1 日 1 点 0 分 0 秒执行
有关 cron 表达式的详细说明,请参阅 Cron 表达式详解。
下面是一个根据当前时间加上 10 秒,然后执行的计划:
const job = schedule.scheduleJob(new Date(Date.now() + 10000), function() { console.log('任务已执行!'); });
取消计划
我们可以使用 cancel
方法取消计划。
job.cancel();
示例代码
下面是一个例子,每天早上 9 点打印一条日报。
-- -------------------- ---- ------- ----- -------- - ------------------------- ----- --- - ----------------------- - - - - --- ---------- - ---------------- - - --- --------------------------- - - --------- --------------- ---------------- --------------- ---------------- --------------- ---------------- --------------- ---------------- --------------- ---------------- --- ------------------------------------- ----------------------------------
总结
node-schedule 是一个实用的 npm 包,可以帮助我们自动化处理定时任务。在使用之前,我们需要安装它,然后创建一个计划,设置任务,就可以愉快的享受它带来的便捷了。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/68585