node.js - 从 pubsub 中提取消息而不会超时
问题描述
我正在尝试实现这一点,到目前为止,对于每个示例,Google 都有一个超时功能,该功能会在 1 分钟后停止侦听消息。
setTimeout(() => {
subscription.removeListener('message', messageHandler);
console.log(`${messageCount} message(s) received.`);
}, timeout * 1000)
假设我想永远收听新消息。没有超时功能的缺点是什么?还是宁愿无限循环更好?
我在本地测试,没关系,但我想知道在生产模式下会发生什么。是的,我想拉消息。
解决方案
超时设置为删除消息侦听器。如果您想不确定地听,请删除这 4 行,仅此而已!
但是,问问自己“如何停止优雅地倾听?” 在计算引擎抢占、应用或虚拟机停止的情况下,卸载实例(对于 Cloud Run、Cloud Functions 和 App Engine)。
这里的触发器是超时。您可以想象一个 while 循环并检查布尔值以继续或停止。
推荐阅读
- android - Flutter 灵活的警报对话框列表
- c - 防止编译器在不使用 volatile 的情况下优化代码
- garbage-collection - 如何从复制垃圾收集器中的寄存器转发指针?
- ios - Flutter 项目 pod 安装失败,出现错误 419
- spring-boot - 在 thymeleaf 模板中使用 th:block (fragments)
- arrays - *ngFor 循环遍历数组
- rust - 如何将方法传递给需要静态生命周期参数的函数?
- ruby - Chef - 如果 variable1 与 variable2 中的任何内容匹配,则使用配方标记服务器
- javascript - Tipue 搜索结果是引导模式?
- android - Flutter app 用户数据量非常大 60 MB