Skip to content
isdnetworks
Go back

알아서 퍼지지 않는 변경

가격을 대량으로 바꿨는데 대상이 칠만 건을 넘는 규모였다. 매시 도는 배치가 재연동 작업을 만들어 준다고 들어서 외부 전송은 자동으로 될 것으로 봤다.

Table of contents

Open Table of contents

자동 전파를 전제한 작업

그 전제는 누군가에게서 들은 말이었을 뿐 직접 확인한 적은 없었다. 그럴듯하게 들렸고 반박할 이유도 없어 보였다.

다만 그 전제가 틀리면 옛 가격이 외부 채널에 계속 걸려 있게 된다. 틀렸을 때의 결과가 큰 쪽이므로 다음 날 실제로 만들어진 작업을 세어 봤다.

커버리지를 세어 본 결과

만들어진 재연동 작업은 네 채널에서 이천 건 남짓이고 나머지 여덟 채널은 하나도 없었다. 칠만 건 중 삼 퍼센트가 안 되는 수준이었다.

전파됐다는 느낌과 실제 커버리지는 쿼리 하나로 갈리고 그 하나를 안 돌리면 몇 퍼센트인지 모른 채로 넘어간다. 나머지 채널에는 옛 가격이 그대로 걸려 있었다.

배치가 실제로 훑는 대상

배치 코드를 열어 보니 종료된 행사에 명시적으로 등록된 상품만 처리하고 있었다. 전체 상품을 훑는 구조가 아니었다.

대량 변경한 그 거래처는 행사가 아예 없었으므로 처리 대상이 하나도 없었다. 배치가 무엇을 대상으로 하는지를 확인하면 그 전제가 성립하지 않는다는 것이 바로 나왔을 것이다.

한 번만 발화하는 이벤트

각 행사는 종료 처리될 때 이벤트를 한 번만 발화하고 그 뒤로는 대상에서 빠진다. 재생성하는 경로가 없으므로 그때 놓치면 다시 만들어지지 않는다.

즉 이 배치는 행사 종료 시 원가로 되돌리는 전용 흐름이고 일반적인 가격 변경 전파와는 무관했다. 전파를 보장하려면 배치에 기대지 않고 전 대상에 갱신 작업을 직접 넣어야 했다.

미완료여도 정상인 상태

작업을 나눠 넣으면서 상태 판정도 정리했는데 실행 시각과 완료 시각의 조합으로 대기와 진행과 완료가 갈렸다. 그중 완료가 안 됐는데도 정상인 경우가 있었다.

판매 중지나 품절 상태이면 시도조차 안 하고 건너뛰며 시도 횟수가 0으로 남는다. 그것을 실패로 세면 실패율이 실제보다 높게 나오므로 건너뜀과 실패를 갈라서 셌다.

정리


Share this post on:

Previous Post
모양이 달라도 오는 200
Next Post
비교할 수 없는 것을 비교하면