我需要我的 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 端)将获取所有消息,无论它是否正在处理一条消息。