如果Google Cloud Pub / Sub在30秒内未收到响应,则重试邮件传递。意向?

时间:2019-11-10 11:34:25

标签: java google-cloud-platform google-cloud-pubsub

我正在使用Java 8 servlet作为Cloud Pub / Sub推送端点。 在我的推送端点上,我有一个长时间运行的阻塞操作,有时会运行一分钟以上。 操作完成后,我返回一个200响应,并确认了消息。

如果我返回500服务器错误,则会重试该消息,这是预期的。

请注意,我创建的订阅的最大截止期限确认时间为600秒。

我注意到的是,如果长时间运行的操作运行了30秒钟以上,则也会重试该消息。似乎用于推式传递的HTTP连接不能存活30秒以上。

这是故意的吗?它可以以某种方式配置吗?预先感谢。

1 个答案:

答案 0 :(得分:1)

对于推送订阅,Cloud Pub / Sub不会发送否定确认(有时称为小结)。如果您的Webhook在确认期限内未返回成功代码,则Cloud Pub / Sub将重试传递,直到消息在订阅的消息保留期之后到期。 create the push subscription可以为推送订阅配置默认的确认期限(选择推送订阅并设置确认期限)。

请注意,与请求订阅不同,不能为单个消息延长截止日期。截止日期实际上是端点必须响应推送请求的时间。