Nodejs 定时任务
安装扩展: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 定时任务的更多相关文章
- 基于agenda的Nodejs定时任务管理框架搭建
0.背景 在大型项目中,定时任务的应用场景越来越广.一般来说,按照微服务的思想,我们会将定时任务单独部署一套服务,核心的业务接口独立到另一个服务中,从而降低相互之间的耦合程度.在需要使用定时任务时,只 ...
- NodeJS定时任务
在实际开发项目中,会遇到很多定时任务的工作.比如:定时导出某些数据.定时发送消息或邮件给用户.定时备份什么类型的文件等等 一般可以写个定时器,来完成相应的需求,在node.js中自已实现也非常容易,接 ...
- nodejs定时任务node-schedule
1:使用npm安装node-schedule模块 npm install node-schedule (1)每隔5分钟执行一次: var schedule = require('node-schedu ...
- 关于nodejs的几个干货(读中文文件编码问题/发送邮件/定时任务)
关于nodejs读取中文文件真是折腾了不少时间,网上各种方案,最后没有一个适用我,好在解决了. 下面的三个知识点都是从项目中抽出的,要单独运行脚本的话需要用全局模式来安装模块,比如安装中文转换模块(后 ...
- 我们是怎么管理QQ群的
文章背景:腾讯平台上的qq群数以千万百万计,但99%的在吹水扯蛋,从早上的问好开始,到晚上的晚安,无一不浪费青春之时间,看之痛心,无力改变,只好自己建了一个,希望能以此来改变群内交流的氛围或环境. 以 ...
- github上最全的资源教程-前端涉及的所有知识体系
前面分享了前端入门资源汇总,今天分享下前端所有的知识体系. 个人站长对个人综合素质要求还是比较高的,要想打造多拉斯自媒体网站,不花点心血是很难成功的,学习前端是必不可少的一个环节, 当然你不一定要成为 ...
- 前端资料QQ群交流
转:https://github.com/jsfront/src/blob/master/qq.md 这本来是我QQ群内部的一份公共约定的日常交流规则,后来得到大伙的一致认可,并用实际行动来捍卫它,使 ...
- 【JavaScript&jQuery】前端资源大全
综合类 综合类 地址 前端知识体系 http://www.cnblogs.com/sb19871023/p/3894452.html 前端知识结构 https://github.com/Jackson ...
- JavaScript资源分享
一. 资源教程: 综合类 前端知识体系 前端知识结构 Web前端开发大系概览 Web前端开发大系概览-中文版 Web Front-end Stack v2.2 En类资源汇总 免费的编程中文书籍索引 ...
随机推荐
- IOS微信禁用分享跳转页面返回BUG修复
fresh(); function fresh() { let isPageHide = false; window.addEventListener('pageshow', function () ...
- android 通过包名过滤logcat
#!/bin/bash ]]; then cat <<EOF Usage: `` <packagename> EOF exit package_name=$ ip= pid_l ...
- JAVA通过信号量避免死锁
死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放.由于线程被无限期地阻塞,因此程序不可能正常终止. 导致死锁的根源在于不适当地运用"synchronized ...
- c语言编译器内置宏
注:转自http://www.cnblogs.com/lixiaohui-ambition/archive/2012/08/21/2649052.html 感谢分享 前言: 我们在写程序的时候,总是 ...
- 【Linux学习】Linux文件系统2—linux常用目录结构、绝对路径、相对路径
Linux文件系统2-linux常用目录结构.绝对路径.相对路径 一. 常见目录结构总结 Linux目录结构就是"树形结构",常见的目录结构: /bin 系统需要的命令位于此目录 ...
- 数据可视化-svg入门基础(二)
接上一篇:数据可视化-svg入门基础(一),基础一主要是介绍了svg概念,元素样式设置等. svg是(scalable vector graphic)伸缩矢量图像. 一.目录 (1)图形元素 (2)文 ...
- 黑科技抢先尝 - Windows全新终端初体验(附无需编译就能安装的Preview版本及代码Build全过程)
目录 将Window 10 升级到1903版本 安装好git, 从github上clone代码 安装 VS 2019 和 .NET core 3.0 SDK 重定解决方案目标 设置好编译平台和启动的项 ...
- E20190414-hm
ease n. 安逸; 容易; 轻松,舒适; 不拘束,自在; (for/with ease of) repetition n. 重复,反复; 背诵; 复制品,副本; [乐] 复唱,复奏,重奏; gl ...
- Codeforces Round #269 (Div. 2) A,B,C,D
CodeForces - 471A 首先要有四个数相等,然后剩下两个数不同就是Bear,否则就是Elephant. #include <bits/stdc++.h> using names ...
- 51nod 1011 【完全背包】
完全背包的变形: 这些数字可以取多次,dp[i]代表前 i 物品组成N时的方案数. #include<iostream> #include<cstring> #include& ...