Skip to content
isdnetworks
Go back

전부를 막던 상태 코드 하나

네 채널이 연동 중지와 전송 실패로 접수됐고 그 상태의 화면 캡처가 첨부돼 있었다. 채널을 하나씩 따로 보지 않고 한 쿼리로 묶어서 함께 봤다.

Table of contents

Open Table of contents

네 채널을 한 쿼리로

하위 상품을 모아 연동 정보와 미완료 작업을 함께 조인했다. 채널마다 따로 조회하면 그 차이를 머릿속에서 비교하는 수밖에 없다.

한 번에 표로 나오게 하니 네 채널이 두 그룹으로 갈리는 것이 바로 보였다. 각각 봤으면 서로 다른 원인이라는 것을 알아채는 데 더 걸렸을 것이다.

두 그룹으로 갈린 결과

그중 두 채널은 승인 유형이 연동 해제였고 미완료 작업이 아예 없었다. 나머지 둘은 승인 완료였고 갱신 작업이 성공으로 남아 있었다.

앞의 둘은 상태 자체가 막고 있는 것이었고 뒤의 둘은 이미 정상 상태였다. 같은 이슈로 접수됐지만 원인도 조치도 다른 두 건이 섞여 있었다.

상태 코드가 작업 생성을 막는다

검증 코드를 열어 보니 연동 해제 상태이면 모든 작업 생성을 거부하고 있었다. 그러면 전송을 누르든 갱신을 누르든 작업 자체가 안 만들어진다.

실행이 실패하는 것이 아니라 실행 대상이 생기지 않는 것이라 재시도로는 풀리지 않는다. 이 경우 대응은 재시도가 아니라 해제 후 재등록이라는 다른 흐름이었다.

캡처와 데이터의 시점 차이

나머지 두 채널은 캡처에는 실패로 나와 있는데 지금 조회하면 성공이었다. 접수부터 조사까지 사이에 재시도가 성공한 것이었다.

캡처는 찍은 시점의 화면이고 데이터는 지금 상태다. 캡처를 그대로 믿었으면 이미 정상인 것을 미해결로 보고 조사했을 것이다.

미완료만 붙인 조인

조회할 때 미완료 작업만 조인한 것이 결과 표를 읽기 좋게 만들었다. 완료된 것까지 붙이면 행이 수십 개가 되어 지금 막혀 있는 것이 안 보인다.

바깥 조인으로 붙였으므로 작업이 없는 채널도 행이 나온다. 작업이 하나도 없다는 것 자체가 상태가 막고 있다는 신호였다.

정리


Share this post on:

Previous Post
요청 생성 이후의 남은 일
Next Post
로그를 모으는 데 드는 비용