Update data calibration and recover stale TCP queue

This commit is contained in:
seo
2026-06-15 19:06:12 +09:00
parent 897dfe97b3
commit 7c2deb9ec1
3 changed files with 79 additions and 2 deletions
+3 -1
View File
@@ -80,6 +80,8 @@ systemctl status car-tcp-worker.service
큐 테이블은 코드에서 자동 생성합니다. Worker가 중지되면 API 요청은 큐에 쌓이지만 4.95초 안에 처리되지 않아 실패로 반환될 수 있습니다. 안전을 위해 worker가 뒤늦게 오래된 queued 요청을 발견하면 실제 TCP 송신 없이 `queue_expired_before_send`로 만료 처리합니다.
Worker 교체나 예외 종료로 `processing`, `ui_timeout_pending` 상태가 남으면 다음 claim 전에 stale queue를 복구합니다. 전송 전이면 `expired_before_send`, 이미 TCP payload를 보낸 상태면 `settled_sent_only`로 정산해 사용량 누락을 막습니다.
## 주요 함수/모듈
- `common.php`: secret 로드와 공통 DB/API 함수
@@ -99,6 +101,6 @@ systemctl status car-tcp-worker.service
- 차량 TCP 실패 reason과 마지막 수신 지연을 확인합니다.
- 명령별 rate limit과 감사 로그를 유지합니다.
- 통신사 기준 데이터 사용량 보정값을 주기적으로 확인합니다.
- 통신사 기준 데이터 사용량 보정값을 주기적으로 확인합니다. 2026-06-15 18:47 T world 실측 66.44MB(68030KB) 기준 2026-06 보정값은 통신사 누적 69,662,720 bytes, 로컬 보정 전 누적 35,100,790 bytes, 배율 1.984648입니다.
- 4.95초 timeout 직후에는 사용량 기록이 즉시 생기지 않을 수 있으며, 최대 60초 뒤 늦은 정산 행이 추가될 수 있습니다.
- `systemctl status car-tcp-worker.service``journalctl -u car-tcp-worker.service`로 worker 상태를 확인합니다.