没有一个开发人员愿意把所有的时间都花在繁琐的任务上,比如系统维护和管理、日常数据库备份和定期下载文件和电子邮件。你更喜欢专注于有效的工作,而不是跟踪这些烦人的琐事何时需要完成。[推荐学习:《nodejs 教程》】
此时需要使用任务调度,它将帮助你解决这样的问题。
任务调度在固定日期和时间、重复间隔或指定间隔后,计划任何代码(方法/函数)和命令执行一次。 Linux 在操作系统中,任务调度通常包括 cron 在操作系统级别处理等实用程序服务。
在 Node.js 类似于应用程序 cron 我们可以使用的功能,我们可以使用的功能 node-cron 这样的包实现了。正如开发人员所介绍的,node-cron 是基于 GNU crontab 的 node.js 纯 JavaScript 中微型任务调度器。
crontab 是 Linux 系统的定时任务执行器。cron 的操作由 crontab 文件驱动,文件是一个配置文件,包括对 cron 守护程序的指令。node-cron
允许我们使用完整的模块 crontab 语法在 Node 中调度任务。
推荐工具
crontab 编辑器:在线工具可视化生成 crontab 配置文件。
crontab 语法如下:
# ┌────────────── second (可选)
# │ ┌──────────── 分钟 (minute,0 - 59)
# │ │ ┌────────── 小时 (hour,0 - 23)
# │ │ │ ┌──────── 一个月中的第几天 (day of month,1 - 31)
# │ │ │ │ ┌────── 月份 (month,1 - 12)
# │ │ │ │ │ ┌──── 星期中,星期几 (day of week,0 - 6) 注:星期天为 0
# │ │ │ │ │ │
# │ │ │ │ │ │
# * * * * * *
允许的 cron 值包括以下内容。
字段 | 值 |
---|---|
second | 0–59 |
minute | 0–59 |
hour | 0–23 |
day of the month | 1–31 |
month | 1–12(或月份简写 Jan、Feb...) |
day of the week | 0–7(或 Jan、Feb..,0 或 7 是星期日) |
让我们来看看它的一些用法和用例。
使用 node-cron
使用 npm
安装 node-cron
模块。
$ npm install --save node-cron
任务调度语法
cron.schedule(cronExpression: string, task: Function, options: Object)
选项
scheduled
:一个布尔值(boolean
),是否安排了设置创建的任务(默认值为)true
)。timezone
:用于任务调度的时区。有效值可参考。 moment-timezone。
看看下面的例子。
const cron = require(