资讯专栏INFORMATION COLUMN

node-schedule 实现定时任务使用方法记录

noONE / 3586人阅读

摘要:现在记录一下使用方法没次都是通过新建一个对象来执行具体方法。时间数值按下表表示使用在指定时间执行方法现在时间在年月日点分秒,打印当时时间指定时间间隔执行方法现在时间这是每当秒数为时打印时间。

在项目中有个每天0点执行的函数,本来想用setInterval来实现,但觉得这种需求以后应该还会有,自己写可能拓展性不高。
搜了一下发现了node-schedule这个包。
现在记录一下使用方法

node-schedule没次都是通过新建一个scheduleJob对象来执行具体方法。

时间数值按下表表示
*    *    *    *    *    *
┬    ┬    ┬    ┬    ┬    ┬
│    │    │    │    │    |
│    │    │    │    │    └ [dayOfWeek]day of week (0 - 7) (0 or 7 is Sun)
│    │    │    │    └───── [month]month (1 - 12)
│    │    │    └────────── [date]day of month (1 - 31)
│    │    └─────────────── [hour]hour (0 - 23)
│    └──────────────────── [minute]minute (0 - 59)
└───────────────────────── [second]second (0 - 59, OPTIONAL)
使用node-schedule在指定时间执行方法
var schedule = require("node-schedule");
var date = new Date(2015, 11, 16, 16, 43, 0);

var j = schedule.scheduleJob(date, function(){
  console.log("现在时间:",new Date());
});

在2015年12月16日16点43分0秒,打印当时时间

指定时间间隔执行方法
var rule = new schedule.RecurrenceRule();
rule.second = 10;
var j = schedule.scheduleJob(rule, function(){
  console.log("现在时间:",new Date());
});

这是每当秒数为10时打印时间。如果想每隔10秒执行,设置 rule.second =[0,10,20,30,40,50]即可。
rule支持设置的值有second,minute,hour,date,dayOfWeek,month,year
同理:
每秒执行就是rule.second =[0,1,2,3......59]
每分钟0秒执行就是rule.second =0
每小时30分执行就是rule.minute =30;rule.second =0;
每天0点执行就是rule.hour =0;rule.minute =0;rule.second =0;
....
每月1号的10点就是rule.date =1;rule.hour =10;rule.minute =0;rule.second =0;
每周1,3,5的0点和12点就是rule.dayOfWeek =[1,3,5];rule.hour =[0,12];rule.minute =0;rule.second =0;
....

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/78310.html

相关文章

  • schedule_task_monitor 前端批跑模块介绍

    摘要:任务退出码任务正常退出批跑模块会接受到为,因为异常退出会接收到。主要注意的检查项为连接未关闭等。每次任务退出后,批跑系统会检测其是否为空,不为空则移动到目录目录下,并以版本号为文件夹存储,以方便备份查看。 背景 随着node的出现与发展,前端承担了越来越多的职责。 前端也有越来越多的场景需要使用批跑脚本 利用爬虫或者接口定时同步数据到DB 线上配置文件、数据文件定时批跑生成并发布到线...

    高胜山 评论0 收藏0
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件

    摘要:本文首发于个人博客项目源码,欢迎,说不定哪天脱单了就能用到了写在前面自从用邮箱注册了很多账号后,便会收到诸如以下类似的邮件刚开始还以为是一张图片,后来仔细一看不是图片呀,好像还是呀,于是好奇宝宝我一下,查阅多篇资料后总结出怎么用前端知识和做 本文首发于个人博客:VinceBlog 项目源码:NodeMail,欢迎star,说不定哪天脱单了就能用到了 写在前面 自从用邮箱注册了很多账号后...

    zero 评论0 收藏0
  • 一只node爬虫的升级打怪之路

    摘要:我是一个知乎轻微重度用户,之前写了一只爬虫帮我爬取并分析它的数据,我感觉这个过程还是挺有意思,因为这是一个不断给自己创造问题又去解决问题的过程。所以这只爬虫还有登陆知乎搜索题目的功能。 我一直觉得,爬虫是许多web开发人员难以回避的点。我们也应该或多或少的去接触这方面,因为可以从爬虫中学习到web开发中应当掌握的一些基本知识。而且,它还很有趣。 我是一个知乎轻微重度用户,之前写了一只爬...

    shiweifu 评论0 收藏0

发表评论

0条评论

noONE

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<