노드크론
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
와 같습니다 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에서 저장소를 포크하세요.
- 포크의 브랜치에 변경 사항을 커밋합니다.
- 변경사항이 포함된 풀 요청 "업스트림"
참고: 끌어오기 요청을 하기 전에 "업스트림"의 최신 항목을 병합하세요!
법적 능력이 있는지 확실하지 않은 한 직접 작성하지 않은 코드를 기여하지 마십시오. 또한 기여한 모든 코드가 ISC 라이센스에 따라 배포될 수 있는지 확인하십시오.
특허
node-cron이 아래에 있습니다.ISC License.