Skip to content

feat: 저장 실패 시 SAVE_FAILED 알림 발송 - #118

Open
sudosubin wants to merge 1 commit into
feat/fcm-pin-duplicatedfrom
feat/fcm-save-failed
Open

feat: 저장 실패 시 SAVE_FAILED 알림 발송#118
sudosubin wants to merge 1 commit into
feat/fcm-pin-duplicatedfrom
feat/fcm-save-failed

Conversation

@sudosubin

@sudosubin sudosubin commented Aug 30, 2026

Copy link
Copy Markdown
Collaborator

📌 Related Issue

  • 없음

🚀 Description

장소 저장에 실패하면 장소를 저장하지 못했어요. 알림을 남깁니다. (PRD [SYS-002] Flow B)

이동할 대상이 없는 앱 내 안내 화면으로 가는 유형이라 payload는 null입니다. 실패 사유도 구분하지 않습니다. 알림함은 어느 건을 누르든 같은 안내 화면으로 보냅니다. (EC-013)

발송 시점은 세 가지입니다.

상황 발송 이유
영구 실패 (재시도 대상 아님) O 재시도가 없으니 지금이 유일한 기회
인식된 장소 0건 O 저장할 것도 재시도할 것도 없음
마지막 배달 O 아래 참고
재시도가 남음 X 재시도가 성공할 수 있어 거짓 알림이 됨

재시도 소진은 Cloud Tasks가 조용히 버려서 워커가 알 수 없습니다. 큐는 최대 10회 재시도하는데 소진되면 아무 신호도 오지 않아 저장했는데 아무 소식도 없는 사용자가 생깁니다. x-cloudtasks-taskretrycount 헤더로 마지막 배달을 판별해 그때 알립니다.

📢 Notes

  • CLOUD_TASKS_MAX_ATTEMPTS를 추가했습니다. 기본값이 인프라 설정과 같은 10이라 배포 시 별도 설정 없이 동작합니다. 큐 설정을 바꾸면 이 값도 함께 바꿔야 합니다.
  • key가 저장 시도당 하나라 여러 실패 경로를 거쳐도, 재배달돼도 한 건으로 접힙니다.
  • PRD의 "공유된 텍스트에 URL이 없을 때"는 이 PR 범위 밖입니다. URL 추출은 클라이언트가 하고 POST /rooms/pins는 유효한 Instagram URL을 요구해서 애초에 호출되지 않거나 동기 400을 받습니다. 알림함 행을 남기려면 클라이언트가 실패를 알려주는 경로가 따로 필요합니다.

@coderabbitai

coderabbitai Bot commented Aug 30, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Team

Run ID: 1a4bb945-de49-4449-a3ed-14a41ffcadde

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sudosubin
sudosubin force-pushed the feat/fcm-pin-duplicated branch from 5a4e3e5 to dc8bdc0 Compare August 30, 2026 15:30
@sudosubin
sudosubin force-pushed the feat/fcm-save-failed branch from a09e09c to 9da786e Compare August 30, 2026 15:30
@sudosubin
sudosubin force-pushed the feat/fcm-pin-duplicated branch from dc8bdc0 to d2e314e Compare August 30, 2026 15:42
@sudosubin
sudosubin force-pushed the feat/fcm-save-failed branch from 9da786e to a1b7f28 Compare August 30, 2026 15:42
@sudosubin
sudosubin force-pushed the feat/fcm-pin-duplicated branch from d2e314e to ce7a265 Compare August 30, 2026 15:46
@sudosubin
sudosubin force-pushed the feat/fcm-save-failed branch from a1b7f28 to 715141c Compare August 30, 2026 15:46
@sudosubin
sudosubin force-pushed the feat/fcm-pin-duplicated branch from ce7a265 to 0fc589f Compare August 30, 2026 15:52
@sudosubin
sudosubin force-pushed the feat/fcm-save-failed branch 2 times, most recently from 0743dc3 to 986523a Compare August 30, 2026 16:00
@sudosubin
sudosubin force-pushed the feat/fcm-pin-duplicated branch from 0fc589f to 8993972 Compare August 30, 2026 16:00
@sudosubin sudosubin self-assigned this Aug 30, 2026
@sudosubin
sudosubin force-pushed the feat/fcm-save-failed branch from 986523a to b052231 Compare August 30, 2026 16:14
@sudosubin
sudosubin force-pushed the feat/fcm-pin-duplicated branch from 36a34b0 to cc841b2 Compare August 30, 2026 16:24
@sudosubin
sudosubin force-pushed the feat/fcm-save-failed branch from b052231 to 398b208 Compare August 30, 2026 16:24
@sudosubin
sudosubin force-pushed the feat/fcm-pin-duplicated branch from cc841b2 to d66d70e Compare August 31, 2026 11:49
@sudosubin
sudosubin force-pushed the feat/fcm-save-failed branch from 398b208 to c67d917 Compare August 31, 2026 11:49
Comment thread src/modules/place/place-worker.controller.ts
Comment thread src/modules/place/place-worker.controller.ts
@sudosubin
sudosubin marked this pull request as ready for review August 31, 2026 13:03
@sudosubin
sudosubin force-pushed the feat/fcm-pin-duplicated branch from d66d70e to 965caa0 Compare August 31, 2026 13:28
@sudosubin
sudosubin force-pushed the feat/fcm-save-failed branch from c67d917 to 46002c4 Compare August 31, 2026 13:28
@sudosubin
sudosubin force-pushed the feat/fcm-pin-duplicated branch from 965caa0 to e002b2f Compare August 31, 2026 14:11
@sudosubin
sudosubin force-pushed the feat/fcm-save-failed branch 2 times, most recently from 233b1b6 to f8564c7 Compare August 31, 2026 14:17
@sudosubin
sudosubin force-pushed the feat/fcm-pin-duplicated branch 2 times, most recently from c45047d to 047dfc6 Compare August 31, 2026 14:27
@sudosubin
sudosubin force-pushed the feat/fcm-save-failed branch from f8564c7 to 70e15a5 Compare August 31, 2026 14:27
@sudosubin
sudosubin force-pushed the feat/fcm-pin-duplicated branch from 047dfc6 to 700d1ed Compare August 31, 2026 15:31
@sudosubin
sudosubin force-pushed the feat/fcm-save-failed branch from 70e15a5 to 3c99dc2 Compare August 31, 2026 15:31
@sudosubin
sudosubin force-pushed the feat/fcm-pin-duplicated branch from 700d1ed to 19273a8 Compare September 1, 2026 01:24
@sudosubin
sudosubin force-pushed the feat/fcm-save-failed branch from 3c99dc2 to 4a955b5 Compare September 1, 2026 01:24
@sudosubin
sudosubin force-pushed the feat/fcm-pin-duplicated branch from 19273a8 to 0f94dde Compare September 1, 2026 01:31
@sudosubin
sudosubin force-pushed the feat/fcm-save-failed branch from 4a955b5 to f0e48f4 Compare September 1, 2026 01:31
@sudosubin
sudosubin force-pushed the feat/fcm-pin-duplicated branch from 0f94dde to 46b033f Compare September 1, 2026 01:38
@sudosubin
sudosubin force-pushed the feat/fcm-save-failed branch from f0e48f4 to bfebc2c Compare September 1, 2026 01:38
저장에 실패했음을 저장한 사람에게 알린다(PRD [SYS-002] Flow B). 실패 사유는
구분하지 않는다 — 알림함은 어느 건을 누르든 같은 안내 화면으로 보낸다(EC-013).

발송 지점 세 곳:
- 영구 실패(재시도 대상 아님) — 첫 시도에서 바로
- 인식된 장소가 없음 — 저장할 것도 재시도할 것도 없는 경우
- 마지막 배달 — 재시도 소진은 Cloud Tasks가 조용히 버려 워커가 알 수 없어,
  x-cloudtasks-taskretrycount로 마지막 시도를 판별한다

재시도가 남아 있으면 알리지 않는다. 재시도가 성공할 수 있어 거짓 알림이 된다.
key는 저장 시도당 하나라 어느 경로를 거쳐도, 재배달돼도 한 건으로 접힌다.
@sudosubin
sudosubin force-pushed the feat/fcm-save-failed branch from bfebc2c to 9f22604 Compare September 2, 2026 03:20
@sudosubin
sudosubin force-pushed the feat/fcm-pin-duplicated branch from 46b033f to b2d1c02 Compare September 2, 2026 03:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant