주말에 Cron Job 모니터링 API를 만들었습니다

발행: (2026년 4월 26일 AM 05:50 GMT+9)
3 분 소요
원문: Dev.to

Source: Dev.to

문제

모든 개발자는 어디선가 최소 하나의 크론 작업을 실행하고 있습니다—백업, 데이터 처리, 보고서 전송 등.
크론 작업이 중단되면, 기본적으로 크론은 실패를 알려주지 않기 때문에 그 실패가 며칠 또는 몇 주 동안 눈에 띄지 않을 수 있습니다.

해결책: CronPing

CronPing은 크론 작업을 모니터링하기 위한 가벼운 API입니다. 다음을 할 수 있습니다:

  • 예상 간격과 함께 모니터를 등록
  • 크론 작업에서 서비스에 ping 전송
  • 작업이 일정에 맞지 않을 때 알림(예: 웹훅) 수신

이전 (무음 실패)

0 2 * * * /opt/backup.sh

이후 (모니터링됨)

0 2 * * * /opt/backup.sh && curl -s https://cronping.anethoth.com/ping/abc123

사용법

회원가입

curl -X POST https://cronping.anethoth.com/api/v1/signup \
  -H "Content-Type: application/json" \
  -d '{ "email": "you@example.com" }'

모니터 생성

curl -X POST https://cronping.anethoth.com/api/v1/monitors \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "name": "nightly-backup",
        "interval_seconds": 86400,
        "grace_seconds": 300
      }'

크론 작업에 ping 추가

... && curl -s https://cronping.anethoth.com/ping/YOUR_TOKEN

구현 세부 사항

  • 프레임워크: API 레이어에 FastAPI 사용
  • 스토리지: 모니터 데이터를 영구화하기 위해 SQLite 사용
  • 백그라운드 처리: 정기 작업으로 지연된 모니터 확인
  • 배포: 손쉬운 롤아웃을 위한 Docker 컨테이너

가격

  • 무료 티어: 3개의 모니터와 7일 이력 제공
  • 더 많은 모니터와 더 긴 보관 기간은 유료 플랜에서 이용 가능합니다.

https://cronping.anethoth.com 에서 확인해 보세요.

0 조회
Back to Blog

관련 글

더 보기 »