노드 크론
node-cron 모듈은 GNU crontab 기반 node.js용 순수 JavaScript의 작은 작업 스케줄러입니다 . 이 모듈을 사용하면 전체 crontab 구문을 사용하여 node.js에서 작업을 예약할 수 있습니다.
시작하기
npm을 사용하여 node-cron 설치:
1$ npm install --save node-cron
node-cron을 가져오고 작업을 예약합니다.
1
2
3
4
5var cron = require('node-cron');
cron.schedule('* * * * *', function(){
console.log('running a task every minute');
});
크론 구문
이것은 cron 구문에 대한 빠른 참조이며 node-cron에서 지원하는 옵션도 보여줍니다.
Allowed fields
1
2
3
4
5
6
7
8
9 # ┌────────────── second (optional)
# │ ┌──────────── minute
# │ │ ┌────────── hour
# │ │ │ ┌──────── day of month
# │ │ │ │ ┌────── month
# │ │ │ │ │ ┌──── day of week
# │ │ │ │ │ │
# │ │ │ │ │ │
# * * * * * *
Allowed values
들 | 값 |
---|---|
두번째 | 0-59 |
분 | 0-59 |
시간 | 0-23 |
달의 날 | 1-31 |
월 | 1-12 (또는 이름) |
요일 | 0-7(또는 이름, 0 또는 7은 일요일) |
여러 값 사용
쉼표로 구분된 여러 값을 사용할 수 있습니다.
1
2
3
4
5var cron = require('node-cron');
cron.schedule('1,2,4,5 * * * *', function(){
console.log('running every minute 1, 2, 4 and 5');
});
범위 사용
값 범위를 정의할 수도 있습니다.
1
2
3
4
5var cron = require('node-cron');
cron.schedule('1-5 * * * *', function(){
console.log('running every minute to 1 from 5');
});
단계 값 사용
단계 값은 범위와 함께 사용할 수 있으며 '/' 및 숫자가 있는 범위 뒤에 사용할 수 있습니다. 예: 1-10/2
that is same as 2,4,6,8,10
. 단계는 별표 뒤에도 허용되므로 "2분마다"라고 말하고 싶은 경우 , 그냥 사용하십시오 */2
.
1
2
3
4
5var cron = require('node-cron');
cron.schedule('*/2 * * * *', function(){
console.log('running a task every two minutes');
});
이름 사용
월과 요일에는 이름이나 짧은 이름을 사용할 수도 있습니다. 예:
1
2
3
4
5var cron = require('node-cron');
cron.schedule('* * * January,September Sunday', function(){
console.log('running on Sundays of January and September');
});
또는 짧은 이름:
1
2
3
4
5var cron = require('node-cron');
cron.schedule('* * * Jan,Sep Sun', function(){
console.log('running on Sundays of January and September');
});
크론 메서드
Schedule
cron 표현식이 틱할 때마다 실행되도록 주어진 작업을 예약합니다.
인수:
- !string 표현식-Cron 표현식
- !Function func-실행할 작업
- boolean?immediateStart-생성 직후 스케줄러를 시작할지 여부입니다.
ScheduledTask 메서드
Start
예약된 작업을 시작합니다.
1
2
3
4
5
6
7var cron = require('node-cron');
var task = cron.schedule('* * * * *', function() {
console.log('immediately started');
}, false);
task.start();
Stop
다시 시작하지 않으면 작업이 실행되지 않습니다.
1
2
3
4
5
6
7var cron = require('node-cron');
var task = cron.schedule('* * * * *', function() {
console.log('will execute every minute until stopped');
});
task.stop();
Destroy
작업이 중지되고 완전히 파괴됩니다.
1
2
3
4
5
6
7var cron = require('node-cron');
var task = cron.schedule('* * * * *', function() {
console.log('will not execute anymore, nor be able to restart');
});
task.destroy();
Validate
주어진 문자열이 유효한 cron 표현식인지 검증하십시오.
1
2
3
4var cron = require('node-cron');
var valid = cron.validate('59 * * * *');
var invalid = cron.validate('60 * * * *');
문제
여기에서 문제 및 개선 요청을 자유롭게 제출 하십시오 .
기여자
일반적으로 "fork-and-pull" Git 워크플로를 따릅니다.
- GitHub에서 리포지토리를 분기합니다.
- 포크의 분기에 변경 사항을 커밋합니다.
- 변경 사항과 함께 "업스트림" 요청을 가져옵니다.
참고: pull 요청을 하기 전에 "업스트림"의 최신 항목을 병합해야 합니다!
자신이 작성하지 않은 코드를 제공할 수 있는 법적 능력이 있는 경우가 아니면 제공하지 마십시오.또한 제공한 모든 코드가 ISC 라이선스에 따라 배포될 수 있는지 확인하십시오.
특허
node-cron은 아래에 있습니다. ISC License.