Python으로 USD/IDR 환율 알림 만들기
Python 표준 라이브러리로 임계값을 넘을 때 한 번만 알림을 내고 상태와 최신성을 안전하게 관리하는 모니터를 만듭니다.
알림은 폴링 시각이 아니라 새로 유효해진 USD/IDR 관측을 이전 관측과 비교해야 합니다. 첫 관측은 기준만 만들고 오래된 데이터와 오류는 상태를 바꾸지 않습니다.
Key points
IDR 판단에는
sources["IDR"]와 effective_at["IDR"]를 사용하세요. 전체 source는 요청 통화의 보수적 요약입니다.첫 유효 관측은 기준입니다. 임계값을 넘으면 한 번 알리고 해제하며, 유효한 관측이 다시 임계값 아래로 내려가야 재설정합니다.
임시 JSON을 같은 디렉터리에 쓰고 0600으로 설정한 뒤
os.replace로 교체하세요.10초 timeout,
EXCHANGERATE_API_KEY, 최소60초 주기를 사용하세요.429에서는 상태를 유지하고 Retry-After를 지킵니다.전체 스크립트를 내려받고 임계값과 상태 경로를 소스 관리 밖에서 설정하세요. 출력은 로컬 콘솔뿐입니다.
통화 관측 모델 만들기
IDR 판단에는 sources["IDR"]와 effective_at["IDR"]를 사용하세요. 전체 source는 요청 통화의 보수적 요약입니다.
교차 정책 정의하기
첫 유효 관측은 기준입니다. 임계값을 넘으면 한 번 알리고 해제하며, 유효한 관측이 다시 임계값 아래로 내려가야 재설정합니다.
상태 안전하게 저장하기
임시 JSON을 같은 디렉터리에 쓰고 0600으로 설정한 뒤 os.replace로 교체하세요.
네트워크와 한도 제한하기
10초 timeout, EXCHANGERATE_API_KEY, 최소60초 주기를 사용하세요.429에서는 상태를 유지하고 Retry-After를 지킵니다. 기본 5분 주기는 30일에 약 8,640회, 60초 주기는 약 43,200회라 공유 월간 한도를 넘을 수 있습니다.
오류가 잘못된 알림을 만들 수 없게 하세요
10초 timeout,
EXCHANGERATE_API_KEY, 최소60초 주기를 사용하세요.429에서는 상태를 유지하고 Retry-After를 지킵니다.모니터 실행하기
전체 스크립트를 내려받고 임계값과 상태 경로를 소스 관리 밖에서 설정하세요. 출력은 로컬 콘솔뿐입니다. 기본 최대 데이터 연령은 1시간입니다. 일일 기준값이나 폐장 데이터를 허용하려면 FX_ALERT_MAX_AGE_SECONDS를 설정하세요. python-exchange-rate-alerts.py
시장 없이 정책 테스트하기
기준, 교차, 반복 timestamp, 오래된 데이터, 재설정, 두 번째 교차를 네트워크 mock으로 테스트하세요.
ER
exchangerate.dev
개발자를 위한 통합 가이드.