安装扩展:node-schedule

npm install node-schedule

1、linux Crontab风格

 var schedule = require('node-schedule');

 function scheduleCron(){
schedule.scheduleJob('1 * * * * *', function(){
console.log('Hello World');
});
} scheduleCron();
通配符解释:
*    *    *    *    *    *
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ |
│ │ │ │ │ └ [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) 秒
范围内执行:
 function scheduleCron(){
schedule.scheduleJob('1-10 * * * * *', function(){
console.log('每分钟的1-10秒执行');
});
}

2、对象风格:

 var schedule = require('node-schedule');

 function scheduleRule(){
var rule = new schedule.RecurrenceRule(); rule.dayOfWeek = 5; // 周几
rule.month = 4;     // 月 
rule.dayOfMonth = 3; // 日
rule.hour = 2; // 时
rule.minute = 1;     // 分   
rule.second = 0; // 秒  schedule.scheduleJob(rule, function(){
console.log('hello world');
}); }
scheduleRule()
  间隔执行:rule 规则传入数组即可
var schedule = require('node-schedule');

function scheduleRule(){
var rule = new schedule.RecurrenceRule(); // 每隔2秒执行
// 分、时、等同理
rule.second = [1,3,5,7];   schedule.scheduleJob(rule, function(){
console.log('hello world');
}); }

3、按确定的时间执行:

2017年7月12号14:50:00执行==>

var schedule = require('node-schedule');

function scheduleDate(){

    var date = new Date(2017,7,12,14,50,0);
schedule.scheduleJob(rule, function(){
console.log('hello world');
});
} scheduleDate();

4、取消定时任务:

 var schedule = require('node-schedule');

 function scheduleCancel(){

     var counter = 1;
var j = schedule.scheduleJob('* * * * * *', function(){ console.log('定时器触发次数:' + counter);
counter++; }); setTimeout(function() {
console.log('定时器取消')
j.cancel();
}, 5000); } scheduleCancel();

Nodejs 定时任务的更多相关文章

  1. 基于agenda的Nodejs定时任务管理框架搭建

    0.背景 在大型项目中,定时任务的应用场景越来越广.一般来说,按照微服务的思想,我们会将定时任务单独部署一套服务,核心的业务接口独立到另一个服务中,从而降低相互之间的耦合程度.在需要使用定时任务时,只 ...

  2. NodeJS定时任务

    在实际开发项目中,会遇到很多定时任务的工作.比如:定时导出某些数据.定时发送消息或邮件给用户.定时备份什么类型的文件等等 一般可以写个定时器,来完成相应的需求,在node.js中自已实现也非常容易,接 ...

  3. nodejs定时任务node-schedule

    1:使用npm安装node-schedule模块 npm install node-schedule (1)每隔5分钟执行一次: var schedule = require('node-schedu ...

  4. 关于nodejs的几个干货(读中文文件编码问题/发送邮件/定时任务)

    关于nodejs读取中文文件真是折腾了不少时间,网上各种方案,最后没有一个适用我,好在解决了. 下面的三个知识点都是从项目中抽出的,要单独运行脚本的话需要用全局模式来安装模块,比如安装中文转换模块(后 ...

  5. 我们是怎么管理QQ群的

    文章背景:腾讯平台上的qq群数以千万百万计,但99%的在吹水扯蛋,从早上的问好开始,到晚上的晚安,无一不浪费青春之时间,看之痛心,无力改变,只好自己建了一个,希望能以此来改变群内交流的氛围或环境. 以 ...

  6. github上最全的资源教程-前端涉及的所有知识体系

    前面分享了前端入门资源汇总,今天分享下前端所有的知识体系. 个人站长对个人综合素质要求还是比较高的,要想打造多拉斯自媒体网站,不花点心血是很难成功的,学习前端是必不可少的一个环节, 当然你不一定要成为 ...

  7. 前端资料QQ群交流

    转:https://github.com/jsfront/src/blob/master/qq.md 这本来是我QQ群内部的一份公共约定的日常交流规则,后来得到大伙的一致认可,并用实际行动来捍卫它,使 ...

  8. 【JavaScript&jQuery】前端资源大全

    综合类 综合类 地址 前端知识体系 http://www.cnblogs.com/sb19871023/p/3894452.html 前端知识结构 https://github.com/Jackson ...

  9. JavaScript资源分享

    一. 资源教程: 综合类 前端知识体系 前端知识结构 Web前端开发大系概览 Web前端开发大系概览-中文版 Web Front-end Stack v2.2 En类资源汇总 免费的编程中文书籍索引 ...

随机推荐

  1. linux系统配置之bash shell的配置(centos)

    linux系统开机启动过程的最后阶段会由init进程根据启动方案(运行级:0-6)启动许多基本的服务程序,为用户提供各种各样的服务.在启动这些服务的最后会启动一个为用户提供操作环境的服务,用户就是通过 ...

  2. Python: PS 滤镜--旋涡特效

    本文用Python 实现 PS 滤镜的旋涡特效,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/42215 ...

  3. tkinter.py

    from tkinter import * def hello():print('hello world') win=Tk() win.title('hello tkinter') win.geome ...

  4. P1014 Cantor表

    洛谷 p1014 题目描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2 ...

  5. 操作 AutoIT:界面与自动化操作结合来简化日常劳动: .Net Reactor验证License,设置License,创建License,截图AutoIt自动化实现。(六)

    自动化操作的稳定性,便利性虽然已经满足了要求,但是页面上呈现的按钮太多了,可以做的更加简单一些. 1. 简化页面的按钮,把5个按钮减少至3个,把Display HID按钮功能整合到create lic ...

  6. CopyOnWrite 策略

    CopyOnWrite 是用于解决并发读写的一种策略,在Write的时候对共享变量进行Copy,在副本上进行更新,再把更新好的副本原子性地替换原来的共享变量.写入时复制是一种优化策略,多个调用者同时访 ...

  7. bzoj 5092 分割序列 —— 高维前缀和

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=5092 首先,处理出异或前缀和 s[i],i 位置的答案就是 s[j] + s[j]^s[i] ...

  8. bzoj 2194 快速傅立叶之二 —— FFT

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2194 如果把 a 序列翻转,则卷积得到的是 c[n-i],再把得到的 c 序列翻转即可. 代 ...

  9. web缓存概述

    缓存无处不在,所展示出的仅仅是服务器端的缓存,我们从细节层面一层层分析 但是在此之前,我们先要知道什么是缓存与为什么要使用缓存,是时候百度一波喽~ 缓存就是数据交换的缓冲区(称作Cache),当某一硬 ...

  10. CentOS 6.5远程连接工具x shell

    安装X shell 在Window系统下远程连接Linux,x shell只是一种远程连接工具,类似工具还有CRT.VNC.putty. 以下是安装X shell的注意事项 此选项中,如不把——初始数 ...