NodeJs 정시 작업 을 위 한 예제 코드

3286 단어 Node정시
프로젝트 에 매일 0 시 에 실행 되 는 함수 가 있 는데 setInterval 로 실현 하려 고 했 지만 이런 수 요 는 앞으로 도 있 을 것 이 라 고 생각 하고 자신 이 쓰 는 확장 성 이 높 지 않 을 것 이 라 고 생각 합 니 다.
뒤 져 보 니 이 가방 이 발 견 됐 습 니 다.
지금 사용법 을 기록 해 주세요.
node-schedule 은 새로운 schedule Job 대상 을 통 해 구체 적 인 방법 을 수행 한 적 이 없습니다.
시간 수 치 는 표를 눌 러 표시 합 니 다.

*  *  *  *  *  *
┬  ┬  ┬  ┬  ┬  ┬
│  │  │  │  │  |
│  │  │  │  │  └ [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)
node-schedule 을 사용 하여 지 정 된 시간 에 실행 하 는 방법

var schedule = require('node-schedule');
var date = new Date(2017, 11, 16, 16, 43, 0);

var j = schedule.scheduleJob(date, function(){
 console.log('    :',new Date());
});
2017 년 12 월 16 일 16 시 43 분 0 초,인쇄 당시 시간
지정 한 시간 간격 실행 방법

var rule = new schedule.RecurrenceRule();
rule.second = 10;
var j = schedule.scheduleJob(rule, function(){
 console.log('    :',new Date());
});
초당 10 시 인쇄 시간 입 니 다.10 초 간격 으로 실행 하려 면 rule.second=[0,10,20,30,40,50]을 설정 하면 됩 니 다.
rule 지원 설정 값 은 second,minute,hour,date,dayOf Week,month,year 입 니 다.
같은 이치:
1 초 에 실행 하면 rule.second=[0,1,2,3...59]
분당 0 초 씩 실행 하면 rule.second=0 입 니 다.
시간 당 30 분 씩 실행 하면 rule.minute=30;rule.second =0;
매일 0 시 에 실행 하면 rule.hour=0;rule.minute =0;rule.second =0;
....
매월 1 일의 10 시가 rule.date=1 이다.rule.hour =10;rule.minute =0;rule.second =0;
매주 1,3,5 의 0 시 와 12 시가 rule.dayOf Week=[1,3,5]이다.rule.hour =[0,12];rule.minute =0;rule.second =0;
....
예시
1:확정 시간
예 를 들 어 2014 년 2 월 14 일,15:40 집행

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

  var date = new Date(2014,2,14,15,40,0);

  var j = schedule.scheduleJob(date, function(){

    console.log("    ");

  });
작업 취소

 j.cancel();
2:매 시간의 고정 시간
시간 당 40 분 씩 실행

  var rule = new schedule.RecurrenceRule();

  rule.minute = 40;

  var j = schedule.scheduleJob(rule, function(){

    console.log("    ");

  });
3:일주일 중 어느 날 어느 시간 에 실행 합 니 다.
월요일 부터 일요일 까지 20 시 에 실행 합 니 다.

  var rule = new schedule.RecurrenceRule();

  rule.dayOfWeek = [0, new schedule.Range(1, 6)];

  rule.hour = 20;

  rule.minute = 0;

  var j = schedule.scheduleJob(rule, function(){

    console.log("    ");

  });
4:초당 실행

  var rule = new schedule.RecurrenceRule();

  var times = [];

  for(var i=1; i<60; i++){

    times.push(i);

  }

  rule.second = times;

  var c=0;
  var j = schedule.scheduleJob(rule, function(){
      c++;
     console.log(c);
  });
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기