npm 包 node-cron 使用教程

npm 包 node-cron 使用教程

在前端开发中,我们常常需要进行定时任务,如定时备份服务器数据、定时执行一些数据统计任务等。这时,一个好用的工具会为我们省去许多麻烦。今天,我们就来介绍一款非常好用的 npm 包,它就是 node-cron。

什么是 node-cron?

node-cron 是一个基于 Node.js 实现的定时任务调度器。它可以通过配置定时规则,让程序在指定的时间自动执行。且支持可配置的多种时间规则,灵活方便。

如何安装和使用 node-cron?

  1. 首先,在命令行工具中输入以下命令进行安装:
--- ------- ---------
  1. 在项目中引入 node-cron 并创建一个 cron 实例:
----- ------- - ------------------------
----- --- - --- ---------- --- - - - --- ---------- -
    --------------------------
-- ----- ----- -----------------

以上代码创建了一个每隔 5 分钟执行一次的定时任务,并在控制台输出了“每隔 5 分钟执行一次!”这句话。

其中,'0 */5 * * * *' 参数表示 cron 的时间规则,即每个 5 分钟(0 秒处)执行一次。

  1. 运行定时任务
------------

以上代码运行刚才创建的定时任务。

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


猜你喜欢

  • npm 包 `graceful-ncp` 使用教程

    graceful-ncp 是一个 Node.js 库,它提供了一种优雅的复制文件和文件夹的方法。在文件复制过程中,它会自动检测错误并进行恢复,避免了程序因为某些原因而崩溃,同时也提供了进度跟踪等良好的...

    5 年前
  • npm 包 graceful-fs-extra 使用教程

    介绍 npm 包 graceful-fs-extra 是基于 fs-extra 扩展的 node.js 文件系统模块。它提供了比 fs-extra 更加流畅的体验,特别是在处理文件系统方面的错误处理。

    5 年前
  • npm 包 Sequelize-Auto 使用教程

    在前端开发中,ORM(Object-Relational Mapping)是一个非常重要的概念。ORM 通过将对象映射到数据库记录来处理关系数据库的操作。当我们需要快速生成针对 MySQL、Postg...

    5 年前
  • npm 包 object-tree 使用教程

    什么是 object-tree object-tree 是一款方便的 JavaScript 库,它可以将对象转换成树形数据结构。如果你需要展示嵌套结构的数据,object-tree 是一个非常有用的工...

    5 年前
  • npm 包 umzug 使用教程

    前言 在开发 web 应用时,我们经常需要进行数据库迁移。数据库迁移是一项比较繁琐的工作,我们需要手动执行各种 SQL 语句,而且还需要记录每一次执行的 SQL 语句,以便后续维护和回滚。

    5 年前
  • npm 包 svg-captcha 使用教程

    在前端开发中,验证码是常用的一种安全机制,常见的验证码有数字、字母、中英文、数学运算等等。而使用 SVG 技术生成验证码,则是当前较为流行的一种方式。而 svg-captcha 正是一个非常优秀的使用...

    5 年前
  • npm 包 shinjs 使用教程

    什么是 shinjs shinjs 是一个帮助开发者快速创建优秀的全屏滚动网页的 JavaScript 库。它提供了一系列可自定义的效果,并且能够兼容各种设备和浏览器。

    5 年前
  • npm 包:react-native-mofang 的使用教程

    React Native 是一个流行的应用程序框架,让开发人员能够使用 JavaScript 构建移动应用程序。React Native 提供了许多有用的组件和库,但有时候你需要更多的功能和定制选项,...

    5 年前
  • npm 包 kernc 使用教程

    什么是 kernc kernc 是一个基于 webpack 的自动化打包工具,它提供了一种可以自动化压缩和优化 CSS 和 JavaScript 文件的方式,其核心思想是静态分析源码,从而实现自动化处...

    5 年前
  • npm 包 webpack-mix 使用教程

    在前端开发中,我们常常需要使用一些工具来对代码进行打包、编译、压缩等操作。而其中一个非常常用的工具就是 webpack。不过,使用原生的 webpack 配置文件来进行配置比较繁琐,有时候需要考虑很多...

    5 年前
  • npm 包 preprocessor 使用教程

    在前端开发中,经常需要处理一些 CSS 或者 JavaScript 文件。这些文件可能需要在编译之前进行一些操作,例如替换变量、添加前缀、删除注释等等。preprocessor 就是解决这些问题的一个...

    5 年前
  • npm 包 sync 使用教程

    在前端开发中,我们经常需要使用到外部的项目或者库。而这些外部资源的管理与安装就需要通过 npm 来完成。然而,在多个项目之间进行资源同步时可能会非常麻烦,这就需要使用 npm 包 sync 工具进行资...

    5 年前
  • npm包bindep使用教程

    介绍 npm包bindep是一个用于管理二进制依赖的工具。它可以让你轻松地在前端项目中安装和管理二进制依赖,像C++二进制文件或CUDA所需的工具链。npm包bindep提供了易于使用的命令行接口和可...

    5 年前
  • npm 包 axios-retry 使用教程

    推荐使用 Promise 风格的 HTTP 库 Axios 的人一定都熟悉它的超时时间(timeout)配置。然而,Axios 并没有提供重试机制,当请求失败时只能通过捕获异常后手动重新发送请求。

    5 年前
  • npm 包 remove-trailing-slash 使用教程

    npm 包 remove-trailing-slash 使用教程 在前端开发中,常常需要对 URL 进行处理,如:添加或删除结尾的斜线。这时候,就可以使用 npm 包 remove-trailing-...

    5 年前
  • npm 包 analytics-node 使用教程

    介绍 analytics-node 是 Segment 系统中的一个客户端,用来将跟踪数据发送到 Segment 中心。这个库允许您轻松地跟踪来自您的 Node.js 应用程序的数据。

    5 年前
  • npm 包 babel-plugin-extensible-destructuring 使用教程

    前言 在前端开发中,我们经常需要使用 ES6 的结构语法获取对象或数组中的部分数据。然而,在某些情况下,我们希望支持更灵活的结构语法,例如从深层嵌套的对象或数组中获取数据时,我们希望可以根据一定的规则...

    5 年前
  • npm 包 hashdirectory 使用教程

    介绍 在开发前端项目的过程中,我们经常需要对目录进行操作。例如,我们需要在项目构建时,对前端资源文件进行打包或者压缩等操作。但是如果这些文件过多,手动一个一个处理将会非常繁琐和费时。

    5 年前
  • npm包find-key使用教程

    什么是npm包? npm是Node.js的包管理器,类似于Java中的Maven和Python中的pip。npm上有数以百万计的软件包可以供开发人员使用。 什么是find-key? find-key是...

    5 年前
  • npm 包 create-error 使用教程

    npm 作为管理 JavaScript 依赖包的工具,为前端开发带来了极大的便利。其中,create-error 是一个方便的工具包,可以帮助我们轻松创建自定义错误对象,本文就为大家介绍如何使用 cr...

    5 年前

相关推荐

    暂无文章