npm 包 node-cron 使用教程
在前端开发中,我们常常需要进行定时任务,如定时备份服务器数据、定时执行一些数据统计任务等。这时,一个好用的工具会为我们省去许多麻烦。今天,我们就来介绍一款非常好用的 npm 包,它就是 node-cron。
什么是 node-cron?
node-cron 是一个基于 Node.js 实现的定时任务调度器。它可以通过配置定时规则,让程序在指定的时间自动执行。且支持可配置的多种时间规则,灵活方便。
如何安装和使用 node-cron?
- 首先,在命令行工具中输入以下命令进行安装:
--- ------- ---------
- 在项目中引入 node-cron 并创建一个 cron 实例:
----- ------- - ------------------------ ----- --- - --- ---------- --- - - - --- ---------- - -------------------------- -- ----- ----- -----------------
以上代码创建了一个每隔 5 分钟执行一次的定时任务,并在控制台输出了“每隔 5 分钟执行一次!”这句话。
其中,'0 */5 * * * *'
参数表示 cron 的时间规则,即每个 5 分钟(0 秒处)执行一次。
- 运行定时任务
------------
以上代码运行刚才创建的定时任务。
node-cron 时间规则详解
node-cron 支持的时间规则如下:
* * * * * *
:每秒钟都执行;*/5 * * * * *
:每 5 秒钟执行一次;0 */5 * * * *
:每隔 5 分钟执行一次;0 0 */2 * * *
:每隔 2 小时执行一次;0 30 22 * * *
:每天的晚上 10 点 30 分执行一次;0 0 10,14,16 * * *
:每天上午 10 点、下午 2 点、下午 4 点执行一次;0 0 12 * * 1-5
:每个工作日(周一至周五)中午 12 点执行一次;0 29 13 * * 6
:每个周六下午 1 点 29 分执行一次。
以上时间规则中,*
表示执行所有可能的值。例如,* * * * * *
表示每秒钟都执行,即执行范围为 0 秒 ~ 59 秒之间。
时间规则中如果采用了 0 */5 * * * *
这种形式,表示以 5 分钟为间隔执行,而不是在第 5 分钟执行。即任务在执行时首先根据相对启动时间,再根据相对时间规则去推算下次执行时间。
node-cron 的其它用法
node-cron 还可以通过以下参数实现更灵活的配置:
onTick
:任务执行时的回调函数。start
:启动任务。stop
:停止任务。timeZone
:时区,默认为'UTC'
。runOnInit
:是否在应用启动后立即执行一次任务,默认为false
。context
:回调函数中的上下文对象。
总结
使用 node-cron 可以方便地实现定时任务。通过本文的学习,您可以掌握 node-corn 的基本用法,并深入了解时间规则的使用方法。同时,您还可以通过指定参数实现更加灵活的配置。不过,需要注意的是,不要在精确性非常重要的情况下使用 node-cron,因为 node-cron 是一个基于时间的调度器,如果某次任务执行时间比下一个任务实际时间滞后,那么下一个任务将会跳过。在一些高精度的任务场景下,建议使用其它调度库。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/66966