安装扩展: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();

最新文章

  1. common.js js中常用方法
  2. Spring中AOP(通知)的使用
  3. JavaScript 上万关键字瞬间匹配——借助Hash表快速匹配
  4. CodeForces 651B Beautiful Paintings 贪心
  5. 7、C#基础整理(类)
  6. 网站首页title 里显示ico图标
  7. Start SparkR in RStudio
  8. Mapreduce读取Hbase表,写数据到多个Hbase表中
  9. 258. Add Digits
  10. Python 类型的分类
  11. 【转】SVN:Android Studio设置忽略文件
  12. js如何控制css伪元素内容(before,after)
  13. 才一年,H5的发展就成这样了......
  14. maven私服 nexus2.x工作目录解读(翻译文档)
  15. UVa10129,Play On Words
  16. ruby 异常处理 begin rescue end
  17. Java中的读写锁
  18. #研发解决方案#研发协作平台CloudEngine
  19. 安装使用nginx
  20. POJ 1523 SPF (无向图割点)

热门文章

  1. June 25,2014---->Binder(IPC),Dalvik ,DEX/ODEX
  2. I.MX6 Surfaceflinger 机制
  3. linux安装flume及问题
  4. vue 路由跳转到外部链接
  5. docker 学习(六) export/import/load/save images
  6. Hue离线安装
  7. xml的的特殊字符转义&
  8. python3 类 组合
  9. Swift异常处理
  10. Lightoj 1082【RMQ】