node.js - Google PubSub 侦听器冻结
问题描述
我遇到了使用拉取冻结 Google PubSub Node.js 侦听器的问题。
我使用以下流程:
1. PubSub client is created,
2. Subscription is fetched from the specified topic
3. Listeners are attached to "message" and "error" events.
一开始它会拉出大约 500 条消息并确认它们,但之后它就挂起,队列中有超过 1000 条消息。我尝试过定期重新初始化侦听器(removeListener/on
),但它只获取很少的消息。重新启动应用程序后,它会拉大约 500 次,同样的情况也会发生。
解决方案
尝试检查您的FlowControl设置,它可能会限制订阅者接收消息的数量和速率。此外,如果您不确认或不确认收到的消息,它们将计入未完成消息的总数。一旦达到maxMessages限制,订阅者将不会再收到消息,直到未完成的消息被 acked 或 nacked(或过期并最终将在maxExtension期后重新发送)。
欲了解更多信息:https ://cloud.google.com/pubsub/docs/pull#subscriber-flow-control-nodejs
推荐阅读
- c# - 使用 RESTful api 进行基于 JWT 的身份验证
- python - 如何在 scikit-learn 管道中的 CountVectorizer 之前包含 SimpleImputer?
- google-classroom - 如何在没有到期时间的情况下使用 Google Classroom API 创建和分配?
- python - Pdfplumber无法识别表python
- javascript - 自定义循环函数无限循环
- graphql-dotnet - GraphQL .Net 自定义扩展
- amazon-web-services - 调用 DescribeInstances 操作时出错 (RequestExpired):在 AWS cloud9 上运行推荐时请求已过期
- css - Tailwind CSS - 扩展颜色 - 命名颜色不同?
- javascript - 如何让页脚不出现在首页
- opencv - 如何在二进制分割图像中分割连接和重叠的对象?