本文为 zzwwjjdj1(意外金喜) 原创文章,非商用自由转载-保持署名-注明出处,谢谢。 https://blog.csdn.net/zzwwjjdj1/article/details/51898257

一. 安装

npm install node-schedule

二. 使用

例子通过定时访问url展示
首先引入2个模块和访问的方法:
[javascript]  view plain copy
  1. var http     = require('http');
  2. var schedule = require("node-schedule");
[javascript]  view plain copy
  1. function httpGet(){
  2. var uri = `http://120.25.169.8/before/index`;
  3. http.get(uri, function(res) {
  4. console.log("访问个人微博状态码: " + res.statusCode);
  5. }).on('error', function(e) {
  6. console.log("个人微博 error: " + e.message);
  7. });
  8. }

1. 确定的时间执行

比如: 2016年7月13日15:50:00 , new Date() 的时候月份要减1.
[javascript]  view plain copy
  1. var date = new Date(2016,6,13,15,50,0);
  2. schedule.scheduleJob(date, function(){
  3. httpGet();
  4. });

运行结果:

2. 秒为单位执行

比如:每5秒执行一次
[javascript]  view plain copy
  1. var rule1     = new schedule.RecurrenceRule();
  2. var times1    = [1,6,11,16,21,26,31,36,41,46,51,56];
  3. rule1.second  = times1;
  4. schedule.scheduleJob(rule1, function(){
  5. httpGet();
  6. });

运行结果:

3.以分为单位执行

比如:每5分种执行一次
[javascript]  view plain copy
  1. var rule2     = new schedule.RecurrenceRule();
  2. var times2    = [1,6,11,16,21,26,31,36,41,46,51,56];
  3. rule2.minute  = times2;
  4. schedule.scheduleJob(rule2, function(){
  5. httpGet();
  6. });

运行结果:

有500请忽略,不小心把数据库关掉了.

4.以小时为单位执行

比如:每4小时执行一次
[javascript]  view plain copy
  1. var rule3     = new schedule.RecurrenceRule();
  2. var times3    = [1,5,9,13,17,21];
  3. rule3.hour  = times3; rule1.minute = 0;
  4. schedule.scheduleJob(rule3, function(){
  5. httpGet();
  6. });

以小时的就不贴运行结果了.时间太久

5.Cron风格

[javascript]  view plain copy
  1. schedule.scheduleJob('5 * * * * *', function(){
  2. httpGet();
  3. });
这个代码的意思就是每分钟的5秒这个点执行
比较坑的就是如果项目中有定时任务的时候,开启多线程模式就会执行多次,不管是这个模块还是使用 setInterval,有能解决的大神请留言. 
更多详情: https://www.npmjs.com/package/node-schedule

nodejs模块 node-schedule使用,定时任务相关推荐

  1. 学习 | Node.js 之定时任务

    小小又开始进入学习状态,小小本次学习的内容是 Node.js 的定时任务. 这里关于Node.js 使用的是node-schedule定时器.所以这里总体是对node-schedule包的相关的学习. ...

  2. NodeJS——模块全局安装路径配置以及关于supervisor的问题解释

    下载安装NodeJS后,在自己选择的路径下会有如下的文件: 默认情况下NodeJS安装会同时安装npm(模块管理器:用于管理用户require的模块,有全局和本地两种). 注:全局:执行npm  in ...

  3. 基于源码剖析nodejs模块系统

    nodejs模块系统 简介 为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统. 模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的.换言之, 一个 No ...

  4. nodeJS学习(9)--- nodeJS模块:exports vs module.exports

    模块简介: 通过Node.js的官方API可以看到Node.js本身提供了很多核心模块 http://nodejs.org/api/ 这些核心模块被编译成二进制文件,可以 require('模块名') ...

  5. (转)Java任务调度框架Quartz入门教程指南(二) 使用job、trigger、schedule调用定时任务...

    http://blog.csdn.net/zixiao217/article/details/53044890 读完第一节,我们已经对Quartz有了一个大体的认识,它可以定时帮我们执行一些处理程序, ...

  6. python 去掉tab_Python使用crontab模块设置和清除定时任务操作详解

    本文实例讲述了Python使用crontab模块设置和清除定时任务操作.分享给大家供大家参考,具体如下: centos7下安装Python的pip root用户使用yum install -y pyt ...

  7. 通过 Browserify 在浏览器中使用 NodeJS 模块

    NodeJS 把 JavaScript 的使用从浏览器端扩展到了服务器端,使得前端开发人员可以用熟悉的语言编写服务器端代码.这一变化使得 NodeJS 很快就流行起来.在 NodeJS 社区中有非常多 ...

  8. nodejs模块加载分析(1).md

    前言 上篇 nodejs 启动流程分析中,遗留了几个问题.这一篇,主要讲讲模块加载流程.大家都应该熟悉 timer 模块的相关功能.我们就以 timer 为引子,一步步看下去吧. C++ init 方 ...

  9. Nodejs模块、自定义模块、CommonJs的概念和使用

    场景 CommonJs JavaScript 是一个强大面向对象语言,它有很多快速高效的解释器.然而, JavaScript 标准定义的API 是为了构建基于浏览器的应用程序.并没有制定一个用于更广泛 ...

最新文章

  1. Java第一个程序(CMD环境)
  2. ASP.net远程调试笔记
  3. SAP UI5 jQuery.sap.formatMessage
  4. java互联网架构师入门进阶之路
  5. 想买基金,在哪个银行开户好呢?
  6. Ubuntu技巧之xxx is not in the sudoers file解决方法
  7. C语言实现任意进制的转换,主要注意代码的小技巧
  8. smarty3.X新命名规范引起的'Call of unknown method'
  9. 轻量级Kubernetes k3s初探
  10. java广告投放系统_1.互联网广告投放管理系统 V1.0 源代码.doc
  11. WinCC V7.2学习记录
  12. android权限的最佳运用
  13. Vmware安装CensOS6.4
  14. [转载]轻松学习XML(六)
  15. 增加内存会让计算机变快吗?
  16. SQL语句大全(Mysql)
  17. 串口编程之一: WIN32 API 中串口DCB 结构的介绍
  18. 各品牌电脑U盘启动的快捷键总结
  19. 三个步骤 让你学会看懂考研数学课本
  20. TuShare Pro 股票期货数据提取神器(Python)

热门文章

  1. SIwave学习记录:电热耦合仿真
  2. python生成大文件_用Python生成非常大的XML文件?
  3. 天线阵列计算远场方向图
  4. 如何使用风向偏移简化风速风向传感器安装
  5. HCIA学习笔记#1
  6. 必须要知道的GridView用法(1)
  7. 反射如何打破封装性_打破产品建议的复杂性
  8. C++ vector之删除元素
  9. 看一个屌丝脱屌的经历有感,谈谈脱屌者的经验和自己的感想
  10. scp + ssh 跨网关传输文件