我有一个非常简单的Node.js应用程序,它订阅了一个pub/sub主题。我已经在云控制台上将确认截止时间设置为10秒。
const client = new PubSub()
const sub = client.subscription('my-topic-sub')
sub.on("message", (msg) => {
console.log("msg received")
})
当我向主题发布消息时,它会被节点应用程序接收并打印日志,但由于我没有确认消息,因此我希望它会被重新发送并再次打印日志。
我试过摆弄设置,并通过代码将ackDeadline选项直接传递给订阅,但没有效果。有趣的是,如果我拒绝了消息,它会立即重新发送。
1条答案
按热度按时间lyr7nygr1#
默认情况下,客户端库将未确认消息的确认截止日期延长一小时,这将阻止消息的重新传递。更多信息请参见lease management documentation。您可以通过更改最长确认延长期限来更改延长期限的时间长度: