Google cloud platform 同步pulsub node.js

Google cloud platform 同步pulsub node.js,google-cloud-platform,google-cloud-functions,google-cloud-pubsub,Google Cloud Platform,Google Cloud Functions,Google Cloud Pubsub,我有一个云函数,它正在从pubsub订阅进行同步拉取。使用设置为true的ReturnInstance标志配置请求,这样我们就不会等待队列中出现pubsub消息 const request = { subscription: formattedName, maxMessages: maxMessages, returnImmediately: true, }; ... client.pull(request) ... 当有一些消息挂起时,请求返回速度非常快(10

我有一个云函数,它正在从pubsub订阅进行同步拉取。使用设置为true的ReturnInstance标志配置请求,这样我们就不会等待队列中出现pubsub消息

const request = {
    subscription: formattedName,
    maxMessages: maxMessages,
    returnImmediately: true,
};
...
    client.pull(request)
...
当有一些消息挂起时,请求返回速度非常快(100ms),但当队列中没有消息时,调用将挂起约1.5秒,然后返回空消息数组

由于我使用的是云函数,所以我不确定异步拉取是否可行


当没有挂起的消息时,我如何消除这1.5秒的延迟,并立即得到pull(请求)返回?返回立即设置为true的同步pull()会立即返回

这是非常自然的,正如@DougStevenson所指出的,您应该编写一个云函数,在您的主题中发布新消息时触发,您可以按照,然后,您将获得非常快速的响应,不会有任何延迟。

出于许多原因,同步pubusb拉入云功能不是一个好主意。相反,您应该编写一个pubsub触发器来安排代码在每条消息上运行。