node-schedule vs node-cron
-
Node.js에서 스케줄러 Graceful Shutdown 시키기Programming Language/JavaScript 2020. 10. 3. 15:24
Node.js에는 대표적인 스케줄러 모듈로 node-schedule과 node-cron이 있다. 단순히 스타 수와 사용자가 많다는 이유로 node-schedule을 사용하고 있었는데 node-schedule을 사용하면서 문제가 생겼다. 스케줄러 특성상 실시간 HTTP API에서 서비스 DBMS와 트랜잭션이 힘든 기능들을 실행하는 경우가 자주 있는데(외부 서비스 연동 등) 시스템에서 인터럽트를 발생시키면 동작 중인 코드가 다 실행되는 것을 기다리는 것이 아닌 그냥 종료시키는 것이었다. node-schedule 코드를 잠깐 확인해 보니 이런 상황을 방지하기 위해선 모듈 외부가 아닌 내부에서 처리를 하던가, API를 추가해야 하는 듯 했다. 그래서 이런 기능을 추가하여 컨트리뷰션 해도 되는지 이슈를 남겼는데 ..