文档章节

nodejs定时任务node-schedule

cyper
 cyper
发布于 2015/12/07 17:57
字数 366
阅读 596
收藏 5

1:使用npm安装node-schedule模块

npm install node-schedule

(1)每隔5分钟执行一次:

var schedule = require('node-schedule');
var rule = new schedule.RecurrenceRule();
rule.minute = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55];
var j = schedule.scheduleJob(rule, function () {
    console.log("执行任务:" + new Date());
});

 (2)上午8点到晚上20点每隔5分钟执行一次:
 

var schedule = require('node-schedule');
var rule = new schedule.RecurrenceRule();
rule.hour = [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20];
rule.minute = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55];
var j = schedule.scheduleJob(rule, function () {
    console.log("执行任务:" + new Date());
});

 

2:以下内容参考:

http://www.codexpedia.com/javascript/nodejs-cron-schedule-examples/

Using the node-schedule to schedule a job to run at a specific time on a specific date. As the first example, the node-schedule module is imported and save it in the variable cron. In the following examle, the require statement will be ommitted and this variable cron will be used.

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

/* run the job at 18:55:30 on Dec. 14 2018*/

var date =new Date(2018, 11, 14, 18, 56, 30);

cron.scheduleJob(date,function(){

    console.log(new Date(),"The world is going to end today.");

});

Schedule a recurring job using the RecurrenceRule, example 1.
 

var rule =new cron.RecurrenceRule();

rule.second = 30;

cron.scheduleJob(rule,function(){

    console.log(new Date(),'The 30th second of the minute.');

});

Schedule a recurring job using the RecurrenceRule, example 2.
 

/* This runs at 3:10AM every Friday, Saturday and Sunday. */

var rule2 =new cron.RecurrenceRule();

rule2.dayOfWeek = [5,6,0];

rule2.hour = 3;

rule2.minute = 10;

cron.scheduleJob(rule2,function(){

    console.log('This runs at 3:10AM every Friday, Saturday and Sunday.');

});

Specify the schedule as an object literal.
 

/* This runs at 2:30AM on every Sunday */

cron.scheduleJob({hour: 2, minute: 30, dayOfWeek: 0},function(){

    console.log('This runs at 2:30AM on every Sunday');

});

Specify the schedule in unix cron syntax.
 

/* This runs at the 30th mintue of every hour. */

cron.scheduleJob('30 * * * * *',function(){

    console.log('This runs at the 30th mintue of every hour.');

});

 

本文转载自:http://www.cnblogs.com/yshyee/p/4465741.html

共有 人打赏支持
cyper

cyper

粉丝 58
博文 685
码字总数 143161
作品 0
武汉
前端工程师
加载中

评论(3)

cyper
cyper
重新排版了一下, 不知道什么时候代码格式乱成一坨
cyper
cyper
每天18点来一次, 刚测试通过。
var cron = require('node-schedule');
cron.scheduleJob({hour: 18}, function () {
console.log(new Date());
});
cyper
cyper
var cron = require('node-schedule');
cron.scheduleJob('*/1 * * * *', function () {
console.log(new Date());
});


每分钟一次。。
使用NODEJS+REDIS开发一个消息队列以及定时任务处理

此项目地址: 作者博客: http://www.robanlee.com 作者:RobanLee Email:Robanlee@gmail.com 本文所必须的一些资料如下: 1. NODEJS ==> 可以去NODEJS.ORG下载最新的源码. 2. Redis ==> Redis.......

_dedecms
2013/04/08
0
8
关于nodejs的几个干货(读中文文件编码问题/发送邮件/定时任务)

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

zhoujie0111
2014/12/31
0
0
浅谈Node.js的事件环(event loop)

1.nodejs 为什么要存在一个event loop的事件处理机制 nodejs 具有事件驱动和非阻塞但线程的特点,使相关应用变得比较轻量和高效。当应用程序需要相关I/O操作时,线程并不会阻塞,而是把I/O操...

zhangyuxiang1226
07/31
0
0
node-schedule

node-schedule 是 Node.js 上一个类似 crontab 的定时任务模块。 示例代码: var schedule = require('node-schedule');var date = new Date(2012, 11, 21, 5, 30, 0); var j = schedule.sc......

红薯
2014/08/02
1K
0
使用Puppeteer轻松爬取网易云音乐、QQ音乐的精品歌单

背景 最近在学习Puppeteer进行自动化操作,另一方面为了防止上班时间被打扰,是时候爬点歌单在上班的时候,用来抵抗外界的干扰了。 地址 项目完整代码地址:github.com/BingKui/WeC… 工具 ...

无聊小码农
07/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

hive分区

hive为啥分区? hive为了避免全表扫描,从而引进分区技术来将数据进行划分。减少不必要数据的扫描,从而提高效率。 hive的分区和MySQL的分区的区别? mysql分区字段用的是表内字段;而hive分...

Mr_yul
25分钟前
1
0
log4j2发送消息至Kafka

title: 自定义log4j2发送日志到Kafka tags: log4j2,kafka 为了给公司的大数据平台提供各项目组的日志,而又使各项目组在改动上无感知。做了一番调研后才发现log4j2默认有支持将日志发送到kaf...

微笑向暖wx
29分钟前
0
0
LINUX中如何查看某个端口是否被占用(转发)

LINUX中如何查看某个端口是否被占用 之前查询端口是否被占用一直搞不明白,问了好多人,终于搞懂了,现在总结下: 1.netstat -anp |grep 端口号 如下,我以3306为例,netstat -anp |grep 33...

覃大光
今天
1
0
JBolt 1.5.0新版发布,升级到支持最新版JFinal和Jetty,实现了在线更新插件功能

JBolt是一个JFinal极速开发框架 定制版IDE插件 目前仅有Eclipse插件版,Idea插件版正在开发中。 JBolt的详细使用教程请移步到这里 =====版本1.5.0 更新内容 2018年10月13日10:41:52===== 注意...

山东-小木
今天
0
0
laravel 微信支付

1.composer加载laravel微信支付第三方文件 composer require "overtrue/laravel-wechat:~4.0" composer require simplesoftwareio/simple-qrcode 1.3.* //composer生成二维码文件 2.改confi......

vio小黑
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部