首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gcloud pubsub订阅通常会报告空消息列表。

gcloud pubsub订阅通常会报告空消息列表。
EN

Stack Overflow用户
提问于 2018-06-13 18:38:56
回答 2查看 1.8K关注 0票数 3

为什么"gcloud pubsub订阅“经常报告一个空消息列表,而订阅中有消息要确认?

见下面的效果。消息118870127432164可以在订阅中获得,它从来没有被认可过,但是它经常没有被报道。

代码语言:javascript
复制
lab@ubu1:~$ while :; do date; gcloud pubsub subscriptions pull projects/PROJECT/subscriptions/killbill-queue; done
Wed Jun 13 15:31:48 -03 2018
┌──────┬─────────────────┬───────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ DATA │    MESSAGE_ID   │               ATTRIBUTES              │                                                                                 ACK_ID                                                                                 │
├──────┼─────────────────┼───────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 6��  │ 118870127432164 │ billingAccountId=000000-000000-000000 │ TDgBRElTK0MLKlgRTgQhIT4wPkVTRFAGFixdRkhRNxkIaFEOT14jPzUgKEUSAgVPAihdeTBLNkFddgA-DRlyfWF0bFlFUAEQB3ZfWBEMYlxORAdzMhhzdWlyalsRBgZGUX9ZXzOA6NOyt7d6ZiQ9XhJLLD5-MzRFQV5AEg │
└──────┴─────────────────┴───────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Wed Jun 13 15:31:50 -03 2018
Listed 0 items.
Wed Jun 13 15:31:53 -03 2018
Listed 0 items.
Wed Jun 13 15:31:56 -03 2018
Listed 0 items.
Wed Jun 13 15:31:59 -03 2018
┌──────┬─────────────────┬───────────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ DATA │    MESSAGE_ID   │               ATTRIBUTES              │                                                                                 ACK_ID                                                                                 │
├──────┼─────────────────┼───────────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ 6��  │ 118870127432164 │ billingAccountId=000000-000000-000000 │ TDgBRElTK0MLKlgRTgQhIT4wPkVTRFAGFixdRkhRNxkIaFEOT14jPzUgKEUSAgVPAihdeTBLNkFddgA-DRlyfWF0bFlFUAEQB3ZfWBEMYlxORAdzMhhzdWlyalsRBgZGUX9ZXzOA6NOyt7d6ZiQ9XhJLLD5-MzRFQV5AEg │
└──────┴─────────────────┴───────────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Wed Jun 13 15:32:01 -03 2018
Listed 0 items.
Wed Jun 13 15:32:05 -03 2018
Listed 0 items.
Wed Jun 13 15:32:07 -03 2018
Listed 0 items.
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-13 18:57:39

您所引用的拉出的消息是“出色的”。这意味着,在Google /Sub认为它将无法从原始订阅者那里得到确认之前,它不应该被授予另一个订阅者。具体来说,它将等到“确认截止日期”,然后再向另一个订阅者提供已发布的消息。

来自Google的Pub/Sub文档 (重点地雷):

一旦消息被发送到订阅服务器,订阅服务器必须确认或删除该消息。一条消息一旦被发送出去并在订阅者确认之前被认为是未完成的。Cloud /Sub将反复尝试传递未被确认或未完成的任何消息。订阅者有一个可配置的、有限的时间,或ackDeadline**,来确认消息。**一旦截止日期过了,未完成的消息就不被确认了。

从您共享的上下文来看,您似乎看到了默认的确认截止日期超时:

确认截止日期:如果您的代码在截止日期之前没有确认消息,消息将再次发送。默认为10秒。--您可以指定的最大自定义截止时间为600秒(10分钟)。

票数 6
EN

Stack Overflow用户

发布于 2019-03-05 14:42:00

“经常拉空消息”标题有点误导和含蓄,标题也可以是"gcloud公共订阅拉确认“。

因为这是您认为它返回一个空列表时发生的情况,因此这里的答案将解释它实际上没有承认,但在达到ack截止日期之前,消息只是暂时处于“未完成”状态,然后又回到que。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50844102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档