2017-09-07 11 views
0

私は、エッジケースを表示し、いくつかのメッセージは、プルしようとすると、解析で失敗しようとするループで立ち往生しています。これらのメッセージをすべて取り除くにはどうすればいいですか?私はgcloudコマンド(gcloud beta pubsub subscriptions pull <SUBSCRIPTION> --auto-ack)で--auto-ackを試みましたが、まだ表示されています。pubsubサブスクリプションを削除する最も良い方法は?

答えて

0

--auto-ackは、お客様の加入者が積極的に稼働しているため、これらのメッセージを保持している可能性があります。すなわち、acknowledgement deadlineは通過していません。この場合、メッセージはgcloudツールに配信されません。あなたは、オプションのカップルを持っている:

  1. は、あなたの加入者をシャットダウンし、ACK期限が経過するまで待機し、その後、あなたが指定したgcloudコマンドを実行します。問題のメッセージは、コマンドラインツールによって受信され、確認されます。このコマンドは、受信したメッセージを出力します。 --max-messagesオプションをデフォルトの1に設定することもできます。
  2. これらのメッセージを処理するように購読者を更新します。これらのメッセージを承認するか、別のトピックを作成して失敗したメッセージをそのトピックに公開し、メッセージを確認することができます。こうすることで、メインのサブスクライバを妨げることなく、この異なるトピック(異なるサブスクライバ/サブスクリプションを使用)でメッセージを検査することができます。これは一般にdead letter queueとして知られています。
関連する問題