从 pubsub 中提取消息而不会超时
Posted
技术标签:
【中文标题】从 pubsub 中提取消息而不会超时【英文标题】:Pull messages from pubsub without timeout 【发布时间】:2020-12-25 16:21:57 【问题描述】:我正在尝试实现this,到目前为止,对于每个示例,Google 都有一个超时功能,可在 1 分钟后停止侦听消息。
setTimeout(() =>
subscription.removeListener('message', messageHandler);
console.log(`$messageCount message(s) received.`);
, timeout * 1000)
假设我想永远收听新消息。没有超时功能的缺点是什么?还是无限循环更好?
我在本地进行测试,这没关系,但我想知道在生产模式下会发生什么。是的,我想拉消息。
【问题讨论】:
【参考方案1】:超时设置为删除消息侦听器。如果你想听的不明确,去掉这4行就行了!
但是,问问自己“如何停止优雅地倾听?”在计算引擎抢占、应用或虚拟机停止的情况下,卸载实例(用于 Cloud Run、Cloud Functions 和 App Engine)。
这里的触发器是超时。您可以想象一个 while 循环并检查一个布尔值以继续或停止。
【讨论】:
以上是关于从 pubsub 中提取消息而不会超时的主要内容,如果未能解决你的问题,请参考以下文章
Google PubSub 如何在流式拉取消息时处理搜索到的消息