피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Vercel Hobby 플랜 제약을 극복한 외부 Scheduler 기반 Cron Job 아키텍처 구현
How to add cron jobs to a Next.js app on Vercel (without upgrading to Pro)
AI 요약
Context
Vercel native cron 기능의 Pro 플랜 제한 및 Hobby 플랜의 1일 1회 실행 제약으로 인한 스케줄링 유연성 부족 상황. 실행 이력 부재와 Retry 메커니즘 결여로 인한 작업 신뢰성 확보의 어려움.
Technical Solution
- Vercel API Routes를 Webhook 엔드포인트로 활용하여 서버리스 환경의 상태 비저장 특성 유지
- 외부 Scheduler인 Tickstem을 도입하여 실행 주기 제어권을 플랫폼 외부로 분리한 구조 설계
X-Tickstem-Secret커스텀 헤더 기반의 Shared Secret 인증 방식을 통한 API 엔드포인트 보안 강화- HTTP 2xx 응답 계약을 통한 Scheduler와 Worker 간의 단순하고 명확한 상태 통신 체계 구축
- SDK를 이용한 Job 등록 자동화로 인프라 설정의 코드화(IaC) 지향
- 외부 매니지드 서비스 활용을 통한 실행 이력 추적 및 자동 Retry 기능 확보
실천 포인트
1. Vercel Hobby 플랜 사용 시 외부 Scheduler 연동 검토
2. API Route 노출 시 반드시 Secret Key 기반의 인증 로직 구현
3. 작업 실패 대응을 위한 Scheduler의 Retry 정책 및 실행 로그 모니터링 설정
4. crontab.guru 등을 활용한 정밀한 스케줄 표현식 검증