Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 如何使用PubSub一次获取一条消息_Firebase_Google Cloud Pubsub_Firebase Queue - Fatal编程技术网

Firebase 如何使用PubSub一次获取一条消息

Firebase 如何使用PubSub一次获取一条消息,firebase,google-cloud-pubsub,firebase-queue,Firebase,Google Cloud Pubsub,Firebase Queue,我需要我的onPublish方法(firebase端)一次只获取一条消息 我的代码如下: 谷歌云(AppEngine): 火基 var functions = require('firebase-functions'); module.exports = functions.pubsub.topic('user_assigner').onPublish((event) => { return someAsyncCode() //retur

我需要我的onPublish方法(firebase端)一次只获取一条消息

我的代码如下:

谷歌云(AppEngine):

火基

    var functions = require('firebase-functions');

    module.exports =
      functions.pubsub.topic('user_assigner').onPublish((event) => { 
          return someAsyncCode() //return promise;
      });
我需要代码someAsyncCode来一个接一个地运行消息,有没有办法做到这一点?
我在batch maxMessages上看到过,但我认为这是为了设置发布者将新消息推送到消息队列时的限制。因此,如果我将attibute设置为1,则发布者将推送one buy one(gcloud端),而onPublish(firebase端)将获得所有消息,无论它是否正在处理一条消息。

我不明白您想要实现什么。您确定pubsub是您想要执行的任何操作的正确解决方案吗?maxMessages属性是。我不知道它将如何与Firebase交互,但它可以帮助您完成所要完成的任务。maxMessages属性不会影响订阅者一次接收的消息数。这与优化发布服务器上的吞吐量和延迟密切相关。当你说你一次只想收到一条信息时,你的意思是你想在收到下一条信息之前对一条信息进行完整的处理吗?如果是这样的话,你所做的事情中是否有内在的东西需要这种行为?这通常被认为是酒吧/酒吧的反模式。
    var functions = require('firebase-functions');

    module.exports =
      functions.pubsub.topic('user_assigner').onPublish((event) => { 
          return someAsyncCode() //return promise;
      });