어떤 기능인가요?
전송 대기 상태의 타이머를 서버로 올리는 워커를 추가합니다. 앱이 종료되거나 기기가 재부팅돼도 연결 조건이 충족되면 실행됩니다.
FcmTokenSyncWorker와 FcmTokenSyncScheduler 패턴을 그대로 씁니다. Hilt Worker 배선(Configuration.Provider, HiltWorkerFactory)은 이미 있습니다- 연결 상태 제약과 지수 백오프, 유니크 작업으로 예약해 같은 작업이 동시에 두 번 돌지 않게 합니다
- 생성이 성공하면 응답의 id를
serverId에 기록하고 동기화 완료로 바꿉니다 - 재시도에도 같은
createRequestId를 보냅니다. 중복 생성은 서버 멱등 처리가 막습니다 - 수정이 409(충돌)로 거절되면 로컬을 서버가 돌려준 현재 값으로 갱신하고 동기화 완료로 처리합니다
- 서버 작업 2건(타이머 updatedAt 충돌 검사, 생성 멱등 처리)이 prod에 배포된 뒤에 머지합니다. 그 전에 열면 중복 생성과 덮어쓰기가 실제로 일어납니다
작업 상세 내용
참고할만한 자료(선택)
오프라인 1단계 디자인 문서의 구성 요소 3(TimerSyncWorkManager)과 위험 요소 2 기준입니다. 타이머 로컬 원본·화면 전환 이슈와 api-server의 타이머 updatedAt·멱등 이슈(prod 배포)가 선행입니다.
어떤 기능인가요?
전송 대기 상태의 타이머를 서버로 올리는 워커를 추가합니다. 앱이 종료되거나 기기가 재부팅돼도 연결 조건이 충족되면 실행됩니다.
FcmTokenSyncWorker와FcmTokenSyncScheduler패턴을 그대로 씁니다. Hilt Worker 배선(Configuration.Provider,HiltWorkerFactory)은 이미 있습니다serverId에 기록하고 동기화 완료로 바꿉니다createRequestId를 보냅니다. 중복 생성은 서버 멱등 처리가 막습니다작업 상세 내용
참고할만한 자료(선택)
오프라인 1단계 디자인 문서의 구성 요소 3(TimerSyncWorkManager)과 위험 요소 2 기준입니다. 타이머 로컬 원본·화면 전환 이슈와 api-server의 타이머 updatedAt·멱등 이슈(prod 배포)가 선행입니다.