mingg IT

[Cron] cron 표현식 유효성 검사 cron-validate 라이브러리 사용하기 본문

기타

[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() 함수에 걸리지 않았다.!! 

Comments