我有一个云功能,它正在从pubsub订阅中进行同步提取。使用设置为true的returnImmediately标志配置该请求,这样我们就不必等待pubsub消息出现在队列中。
const request = {
subscription: formattedName,
maxMessages: maxMessages,
returnImmediately: true,
};
...
client.pull(request)
...
当有一些待处理的消息时,请求返回的速度非常快(100ms),但是当队列中没有消息时,调用将挂起约1.5秒,然后返回空的消息数组。
由于我处于云功能中,因此不确定异步拉是否可行。
当没有待处理的消息时,如何摆脱1.5 s的延迟并立即获得pull(request)返回?将returnImmediately设置为true的同步pull()立即返回
答案 0 :(得分:1)
正如@DougStevenson指出的那样,您应该编写一个Cloud Function,以便在主题中发布新消息时触发该事件,您可以按照this tutorial进行操作,这样您将获得非常快速的响应而没有任何延迟。