0

我需要我的 onPublish 方法(firebase 端)一次只收到一条消息。

我的代码是这样的:

谷歌云(AppEngine):

const pubsub = new PubSub({
  projectId: config.project,
});

const topicName = 'projects/'+config.project+'/topics/user_assigner';

const dataBuffer = Buffer.from(dataToSend);
  pubsub
    .topic(topicName)
    .publisher()
    .publish(dataBuffer, (err, messageId)=> {
      console.log("call back")
      console.log("err",err)
      console.log("messageId",messageId)
      resolve(messageId)
    })

火力基地

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

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

我需要代码 someAsyncCode 来一个一个地运行消息,有没有办法做到这一点?我在发布者的文档中看到了批处理 maxMessages,但我认为这是在发布者将新消息推送到消息队列时设置限制。因此,如果我将该属性设置为相同,则发布者将推送一个购买一个(gcloud 端),而 onPublish(firebase 端)将获取所有消息,无论它是否正在处理一条消息。

4

0 回答 0