google-cloud-platform - 同步拉取 pubsub node.js
问题描述
我有一个云功能,它正在从 pubsub 订阅同步拉取。该请求是使用设置为 true 的 returnImmediately 标志配置的,这样我们就不会等待队列中出现 pubsub 消息。
const request = {
subscription: formattedName,
maxMessages: maxMessages,
returnImmediately: true,
};
...
client.pull(request)
...
当有一些消息挂起时,请求返回非常快(100ms),但当队列中没有消息时,调用挂起大约 1.5 秒,然后返回空的消息数组。
由于我在云功能中,我不确定异步拉取是否可行。
当没有待处理的消息时,我怎样才能摆脱这个 1.5 秒的延迟并让 pull(request) 立即返回?将 returnImmediately 设置为 true 的同步 pull() 立即返回会感觉很自然
解决方案
正如@DougStevenson 所指出的,您应该编写一个云函数以在您的主题中发布新消息时触发,您可以按照本教程进行操作,然后您将获得非常快速的响应,不会有任何延迟。
推荐阅读
- python - 链接到 Twitter 用户个人资料图片不再工作
- matlab - 如何删除双精度数组中的重复行,以便没有行与其前一行相同
- php - 警告:第 150 行 C:/Path-of-my-website/prispevky/photos.php 中的数组到字符串转换
- spring - 在单个事务中运行 Spring Batch 步骤
- python - 如何在 kivy 中更改标签文本?
- macos - SwiftUI:在 macOS 上调整 ColorPicker 的大小
- javascript - 如果条件为真,v-for 循环内的 v-show 将显示所有元素
- multithreading - 你如何在 Perl 线程中使用数组引用?
- javascript - 带有 chart.js 和 PHP 的动态折线图
- php - Laravel Guru:是否可以在 Eloquent 查询中使用新添加的列?