>

가장 큰 경우가 나타 났으며 일부 메시지가 풀리려고 시도하고 파싱에 실패하는 루프에 갇혔습니다. 이 모든 메시지를 제거하려면 어떻게해야합니까? gcloud 명령 ( gcloud beta pubsub subscriptions pull <SUBSCRIPTION> --auto-ack )으로 --auto-ack을 시도했습니다. ), 여전히 표시됩니다.

아이디어가 있습니까?


  • 답변 # 1

    --auto-ack  구독자가 적극적으로 실행 중이 어서 해당 메시지를 보류하지 않는 한 (예 : 승인 마감 시간이 지났 으면) 작동해야합니다. 이 경우 메시지가 gcloud 에 전달되지 않습니다  구독자가 구독하고 있기 때문에 몇 가지 옵션이 있습니다 :

    <올>

    구독자를 종료하고 ack 마감일이 지날 때까지 기다린 다음 gcloud 를 실행하십시오.  지정한 명령. 그런 다음 해당 메시지를 명령 행 도구에서 수신하여 확인해야합니다. 명령은 수신 한 메시지를 인쇄합니다. 당신은 또한 --max-messages 를 설정할 수 있습니다  기본값은 1입니다.

    구문 분석 할 수없는 메시지를 처리하도록 구독자를 업데이트하십시오. 이를 확인하거나 해당 메시지에 대해 별도의 주제를 작성하고 실패한 메시지를 해당 주제에 공개 한 후 메시지를 승인 할 수 있습니다. 이렇게하면 주 가입자를 방해하지 않고이 다른 주제 (다른 가입자/구독이있는)의 메시지를 계속 검사 할 수 있습니다. 이것을 일반적으로 데드 레터 큐라고합니다.

  • 이전 node.js - nodejs에서 첨부 파일을 사용하여 이메일을 보내는 방법은 무엇입니까?
  • 다음 asp.net mvc - Glassmapper의 편집 가능 필드가 Sitecore RenderField 파이프 라인을 호출하지 않는 이유