--auto-ack
sollte funktionieren, es sei denn, Ihr Abonnent läuft aktiv und daher möglicherweise auf diese Nachrichten halten, d. H. Die acknowledgement deadline hat nicht bestanden. In diesem Fall werden die Nachrichten nicht an das Tool gcloud
übermittelt, da Ihr Abonnent an ihnen festhält. Sie haben ein paar Optionen:
- Ihre Teilnehmer herunterfahren, warten, bis die ack Frist abgelaufen ist, und führen Sie dann den Befehl
gcloud
Sie angegeben haben. Die betreffenden Nachrichten sollten dann vom Befehlszeilentool empfangen und bestätigt werden. Der Befehl gibt die empfangenen Nachrichten aus. Sie können auch die Option --max-messages
als Standardeinstellung auf 1 setzen.
- Aktualisieren Sie Ihren Abonnenten für die Verarbeitung dieser Nachrichten, die nicht analysiert werden können. Sie könnten entscheiden, sie zu bestätigen, oder Sie könnten ein separates Thema für solche Nachrichten erstellen, die fehlgeschlagenen Nachrichten zu diesem Thema veröffentlichen und dann die Nachrichten bestätigen. Auf diese Weise können Sie die Nachrichten zu diesem anderen Thema (mit einem anderen Abonnenten/Abonnement) noch überprüfen, ohne Ihren Hauptteilnehmer zu behindern. Dies ist allgemein bekannt als dead letter queue.