node-schedule原理,

  node-schedule原理,

  如何在节点项目中创建定时任务?下面这篇文章介绍你如何在node项目中使用node Schedule开发计划任务脚本,希望对你有所帮助!

  node.js速度课程简介:进入学习

  nodejs的后端也需要调度任务来做处理,比如备份、定时发送邮件、结算等操作。因此,节点调度,一个npm,被用来帮助我们制定计划任务脚本。

  npinstall node-schedule节点计划中的每个计划任务都由一个作业对象表示。您可以手动创建它,然后执行schedule()方法来应用任务,或者使用scheduleJob(),如下所示。

  作业对象是EventEmitter,并发出以下事件:

  每次执行run后的事件。每次计划运行时的计划事件。取消的,当它在执行前调用取消的事件时。当触发的计划作业调用引发或退出事件以拒绝承诺时出现错误。(预定事件和取消事件都接收JavaScript date对象作为参数)。

  注意,第一次执行任务时会立即执行,因此如果使用scheduleJob()方法创建任务,将会错过第一个预定事件触发器,但是可以手动查询调用。

  

Cron格式

   * * * * * *

   星期几(0 - 7) (0或7是孙)

   月(1 - 12)

   一月中的某一天(1 - 31)

   一小时(0 - 23)

   一分钟(0 - 59)

  第二(0 - 59,可选)

  每分钟的第30秒触发:“30 * * * *”

  由每小时1分30秒触发:“30 1 * * *”

  每天凌晨1: 1: 30触发:“30 1 1 * * *”

  每月1日1: 1: 30触发:“30 1 1 1 * *”

  2016年1月1日1: 1: 30触发:“30 1 1 1 2016 *”

  在1: 01触发:每周30:“30 1 1 * * 1”

这里是个人对node-schedule封装类来使用增删改查定时任务

   const schedule=require( node-schedule );

  出口。间隔=类间隔{

  构造函数({单位名称,维护时间,最后警报}) {

  This.unit_name=单位名称//任务名称

  this . maintain _ time=maintain _ time//定时时间

  this . last _ alarm=last _ alarm //最后一个计划任务的名称

  }

  //生成新的计划任务

  异步创建(回调){

  //终止之前的预定任务。

  如果(this.last_alarm!==) {

  this.delete(this.last_alarm)

  }

  schedule . schedule job(` $ { this . unit _ name } `,` ${this.maintain_time} `,回调);

  }

  //删除计划任务

  delete() {

  if(schedule . scheduled jobs[this . unit _ name]){

  schedule . scheduled jobs[this . unit _ name]。cancel();

  返回true

  }

  返回false

  }

  //查找定时任务

  findOne(name) {

  if(schedule . scheduled jobs[名称]) {

  返回schedule . scheduled jobs[名称]

  }否则{

  抛出新错误(“找不到任务名称”)

  }

  }

  //查看所有计划任务

  findAll() {

  返回调度作业

  }

  }

这里是调用时定时任务Interval实例

   //计划任务

  新工具。间隔({

  Unit_name:自动分配任务0 0 12 * * * ,

  维护时间: 0 0 12 * * * ,

  Last_alarm:自动分配任务0 0 12 * * *

  }).create(async ()={

  //写调度任务触发时要执行的函数。

  })更多关于node的信息,请访问:nodejs教程!这就是如何使用节点计划在节点项目中创建计划任务的细节。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: