node-cron ( cronjob )

juhojung·2022년 3월 16일
0

nodejs

목록 보기
4/6

이번 포스트는 node-cron 이라는 라이브러리 사용기록이다.

https://www.npmjs.com/package/node-cron
기본적인 cronjob 설정 방법은 알고있어야 좋다.

매주 일요일 자정에 운영하는 서비스에 사용자들에게 일괄적으로 메일보내주는 이벤트를 만든다고 쳤을때, 아래처럼 하면된다.

import { getRepository } from "typeorm";
import cron from "node-cron";
import { User } from "@/entity";
import { send_mail_notification } from "@/routes/api/v1/edms/etc"; // send_mail_notification이라는 메일 보내는 함수가 있다고 친다.

// cron job function
export default async () => {
    cron.schedule("59 23 * * 0", async () => { // 59분 23시 매일 매달 일요일에
        let users = await getRepository(User).find({ isUse: 1 });
        await send_mail_notification(users.map(raw => raw.user_id));
    });
};

======= 2022-04-18 업데이트 ========
PM2 프로세스 매니지먼트 툴을 사용하는 경우

// 매일 자정에 재시작됩니다.
pm2 restart app-name --cron-restart="0 0 * * *" 

위 처럼 간단한 옵션으로 줄수도있다.

profile
"어찌 할 수 없는 일에 대해 고민하는 시간은 낭비일 뿐이다."

0개의 댓글