You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug] 얼굴 인식 프레임이 간격 기준 때문에 가끔 429(FACE_FRAME_RATE_LIMITED)로 거절돼요 #265
429는 44~183ms 만에 바로 거절되고, 579ms·750ms처럼 느린 응답 직후에 나왔습니다. Retry-After는 없습니다.
🤔 문제 상황
웹과 서버가 "프레임 시작"을 서로 다른 시점으로 잽니다.
웹은 보낸 시각부터 250ms를 셉니다. 응답이 250ms보다 늦으면 응답을 받자마자 다음 프레임을 보냅니다.
서버(FaceRecognitionService.recognize)는 인증 → findOwned(DB)를 마친 뒤의 시각(now = clock.instant())을 last_frame_started_at으로 기록하고, 다음 프레임의 claimFrame에서 now - 200ms와 비교합니다.
이전 요청이 서버 앞단(업로드·인증·DB)에서 오래 머물면 서버가 기록한 시작 시각이 응답 직전으로 밀립니다. 응답 직후 웹이 보낸 다음 프레임은 서버 기준으로 200ms가 안 지나서 FACE_FRAME_RATE_LIMITED가 됩니다.
웹에서 막으려면 응답 뒤에 매번 200ms를 쉬어야 해서, 출석 처리 속도가 초당 약 4장에서 약 2.4장으로 떨어집니다.
✅ 요청
src/main/resources/application.yaml의 기본값을 1ms로 바꿔 주세요.
Activity