괴발개발 성장기

사이드 프로젝트/Amazon SQS

[Amazon SQS] SQS에서 메시지 삭제하는 과정에서 에러

지니유 2023. 6. 27. 19:59
반응형

메시지 하나 보내고 하나 삭제 하는 코드에서는 삭제가 잘되었다.

receive-message-service가 죽지 않도록 for문을 돌리는 과정에서 메시지 삭제할 때 에러 메시지가 발생했다.

 

# 에러 메시지

InvalidParameterValue: Value {값}= for parameter ReceiptHandle is invalid. Reason: The receipt handle has expired. status code: 400, request id: 값

메시지를 가져오는 코드에서 VisibilityTimeout 값을 5초로 했다. 그래서 제한 시간이 끝나면서 오류가 발생했다. 

대기열에서 수신한 메시지가 다른 메시지 소비자에게 보이지 않게 되는 시간을 설정하는 것이다.

 

문제는 for문안에 시간을 설정 해놓아서 문제가 발생했다. 

time.Sleep(time.Second * 5)

제한 시간은 5초인데 5초가 지나고 삭제를 해서 문제가 되었다.

그래서 VisibilityTimeout 값을 5초 이상으로 설정하니까 해결이 되었다.

 

 

반응형