콘텐츠로 이동

작업 스케줄러

tinyauth는 만료된 토큰, 사용된 인증 코드, 이메일 인증 토큰 같은 임시 데이터를 주기적으로 정리하는 내장 스케줄러를 제공해요. 이 설정은 schedulercleanup 최상위 섹션으로 구성돼요.


config.yaml
scheduler:
enabled: true
cron: '0 2 * * *'
  • scheduler.enabled: 내장 스케줄러를 활성화할지 여부예요. 기본값은 true예요.
  • scheduler.cron: 정리 작업 실행 주기예요. 표준 5필드 cron 형식(분 시 일 월 요일)을 사용해요. 기본값은 0 2 * * *(매일 오전 2시)예요.

각 데이터 유형별로 정리 정책을 세밀하게 설정할 수 있어요.

정리 정책의 보존 기간(retention)은 다음과 같은 형식을 사용해요.

형식의미예시
"0"즉시 (보존 기간 없음)만료 즉시 삭제
"30s"30초
"30m"30분
"24h"시간24시간
"7d"7일
"1y"년 (365일)1년
cleanup:
revoked_tokens:
enabled: true
retention: '0'
  • enabled: 취소된 토큰 정리 활성화 여부예요. 기본값은 true예요.
  • retention: 토큰 만료 후 보존 기간이에요. 기본값은 "0"(만료 즉시 삭제)이에요.
cleanup:
oauth_codes:
enabled: true
consumed_retention: '24h'
  • enabled: 인증 코드 정리 활성화 여부예요. 기본값은 true예요.
  • consumed_retention: 사용된 인증 코드의 보존 기간이에요. 기본값은 "24h"예요.
cleanup:
email_verifications:
enabled: true
retention: '0'
  • enabled: 만료된 이메일 인증 토큰 정리 활성화 여부예요. 기본값은 true예요.
  • retention: 만료 후 보존 기간이에요. 기본값은 "0"이에요.
cleanup:
password_resets:
enabled: true
retention: '0'
  • enabled: 만료된 비밀번호 재설정 토큰 정리 활성화 여부예요. 기본값은 true예요.
  • retention: 만료 후 보존 기간이에요. 기본값은 "0"이에요.

대기 중인 OAuth 가입 (pending_oauth_registrations)

섹션 제목: “대기 중인 OAuth 가입 (pending_oauth_registrations)”
cleanup:
pending_oauth_registrations:
enabled: true
retention: '0'
  • enabled: 중단된 OAuth 가입 흐름 정리 활성화 여부예요. 기본값은 true예요.
  • retention: 만료 후 보존 기간이에요. 기본값은 "0"이에요.

  • account_deletion.enabled: 사용자가 스스로 계정 삭제를 요청할 수 있는지 결정해요.
  • account_deletion.retention: 삭제 요청 후 실제 영구 삭제까지의 유예 기간이에요. tinyauth cleanup이 실행될 때 이 정책이 적용돼요.
  • tokens.key_rotation.*: JWT 키 순환 정책이에요. 정리 작업과 같은 유지보수 시점에 함께 반영돼요.

config.yaml
tokens:
key_rotation:
enabled: true
interval_days: 30
overlap_days: 7
account_deletion:
enabled: true
retention: 30d
scheduler:
enabled: true
cron: '0 2 * * *'
cleanup:
revoked_tokens:
enabled: true
retention: '0'
oauth_codes:
enabled: true
consumed_retention: '24h'
email_verifications:
enabled: true
retention: '0'
password_resets:
enabled: true
retention: '0'
pending_oauth_registrations:
enabled: true
retention: '0'

스케줄러와 별개로, CLI를 통해 수동으로 정리 작업을 실행할 수도 있어요.

Terminal window
# 정리 작업 실행
tinyauth cleanup
# 실제 삭제 없이 대상만 확인 (드라이 런)
tinyauth cleanup --dry-run
# 상세 진행 상황 출력
tinyauth cleanup --verbose
# 커스텀 설정 파일 사용
tinyauth cleanup -c /path/to/config.yaml