star-breaker-raid 프로젝트에서 post의 레이드 시간이 지나면 지난 포스트가 자동으로 삭제되도록 요구를 분석항목에 있었습니다. 이를 위해 Vercel cron을 활용해 스케줄링을 구현하였습니다.
Vercel cron은 Vercel에서 제공하는 스케줄링 기능으로, 최상위 경로에 vercel.json 파일을 생성하고 파일 내용을 아래와 같이 작성합니다.
설정방법
1. 최상위 경로에 vercel.json 파일 생성

2. vercel.json 파일 내용 작성
{
"crons": [
{
"path": "/api/실행할 코드 경로",
"schedule": "시간 설정"
}
]
}
Vercel cron은 UTC 시간을 기준으로 작동이 됩니다. 그렇기에 한국 시간에 알맞게 설정하기 위해서는 UTC +9 라는 점을 잊으면 안됩니다. 예를 들어 한국 시간 아침 5시에 작동이 되어야한다면
* 20 * * *로 작성하면 됩니다.
시간이 UTC인지 확인하고 싶어서 태스트를 진행했습니다.
1. 한국 시간 13시 10분으로 설정
2. UTC 시간 4시 30분으로 설정

한국 시간 13시를 기준으로 한국시간과 UTC 시간을 설정해 실제로 작동이 되는 시간이 언제인지 파악하는 테스트를 진행했습니다.
14시 21분에 Vercel Log에서 cron 동작을 확인했습니다.

cron은 작동했으나 시간은 생각보다 50분 늦게 작동하였습니다.
Vercel 공식문서를 확인하니 제가 vercel hobby를 사용하면 실제 작성된 시간에 오차 +1 시간 정도 차이가 난다고 합니다. 혹시 정확한 시간에 작동하게 하고 싶다면 돈을 내고 Pro 버전을 사용하면 됩니다.
+1시간이기 때문에 UTC 4시 30분으로 작성한게 작동이 된 것으로 판단이되고 이를 바탕으로 프로젝트에 적용하니 원하는 시간 근처에서 작동되는 모습을 확인 할 수 있었습니다.
스케줄링 구현에 라이브러리 의존성을 주입하지 않고 Vercel에서 제공하는 cron을 사용하여 간편하게 원하는 기능을 구현 수 있었습니다. 많은 분들도 시도해보시면 좋을 것 같습니다.
[참조][Vercel Documentation](https://vercel.com/docs/cron-jobs#cron-jobs)