기타
[Cron] cron 표현식 유효성 검사 cron-validate 라이브러리 사용하기
mingg123
2021. 9. 6. 17:12
https://www.npmjs.com/package/cron-validate
참고로 나는 리액트에서 사용했다.
스케줄러와 관련된 기능을 개발하면서 cron 표현식의 유효성을 프론트단에서 검사할 필요성이 생겼다.
cron-validate 라이브러리가 있었고 사용해보려고 한다.
$ npm i cron-validate 를 사용한다.
const cronexp = '* * * * * *';
const cronResult = cron(cronexp, {
preset: "default",
override: {
useSeconds: true,
},
});
이후 isValid 메소드를 이용하여 유효성을 체크할 수 있다.
if(!cronResult.isValid()) {
alert("check cron expression");
}
그런데 테스트 하던 도중 0 0/1 * * * ? 와 같은 cron 표현식이 되지 않았다.
1초에 1번 실행하라는 cron 표현식인데.. 왜 되지않을까 싶어서 document를 읽어보았다.
가만~ 히 찾아보니 useBlankDay 라는 옵션이 있다!!
const cronexp = '* * * * * *';
const cronResult = cron(cronexp, {
preset: "default",
override: {
useSeconds: true,
useBlankDay: true,
},
});
useBlankDay를 true로 바꾸어주니 isValid() 함수에 걸리지 않았다.!!