매일 새벽에 정산 메일 보내는 작업을 node-cron으로 걸어놨는데요, 얼마 전 트래픽 늘어서 PM2를 cluster 모드로 인스턴스 8개 띄웠더니 그 뒤로 정산 메일이 8통씩 갑니다.
당연한 얘긴가 싶기도 한데, cron 코드가 앱 코드 안에 있으니 인스턴스마다 스케줄러가 각자 돌아서 그런 것 같아요.
cron.schedule('0 4 * * *', () => {
sendSettlementEmails()
})인스턴스는 여러 개 유지하면서 이 작업만 딱 한 번 돌게 하는 정석적인 방법이 뭔가요? 인스턴스 하나에서만 돌게 하드코딩하는 건 좀 아닌 것 같고요.
댓글 0