기타 배치 작업
청구서 외의 정기 배치 작업 흐름을 정리한다.
1. 배치 작업 전체 스케줄
2. 계약 만료 알림 (매일 09:00 KST)
2.1 흐름
2.2 알림 조건
should_notify=enable_notification == trueANDend_date - reminder_days <= today- 알림 유형:
type=ACTION,category=CONTRACT,sub_category=EXPIRED
2.3 이메일 내용
3. 고객사 자동 정지 (매일 05:00 KST)
3.1 흐름
3.2 상태 변경 조건 요약
Contract.expired:end_date < today(Asia/Seoul 기준)- API에서도 수동으로 조직 상태를
suspended로 변경 가능
3.3 API 호출에 의한 상태 변경 (참고)
4. 파트너 사용량 기록 (매월 1일 09:00 KST)
4.1 흐름
4.2 파트너 사용량 상태 흐름
5. 시험판 만료 처리
- 시험 기간(
trial_end_date)이 현재 시각보다 이전인 회사를 찾아deactivate플래그 설정 - 비활성화된 회사의 사용자는 로그인 시
UnauthorizedException발생
6. 토큰 정리
6.1 만료된 리프레시 토큰 정리
6.2 토큰 블랙리스트 정리
- 로그아웃 시 access_token이 블랙리스트에 추가됨
- 토큰 만료 시각이 지난 항목은 자동 삭제
7. Worker 태스크 추적
Worker 태스크의 실행 상태를 DB에 기록하여 대시보드에서 진행 상황을 확인할 수 있다.
구현: worker/controllers/worker_task_controller.py, 모델: common/models/worker_task_model.py