【发布时间】:2017-10-26 12:39:36
【问题描述】:
我从云函数向 pubsub 发送消息,并使用 PubsubIO 从全局窗口以 Java 接收它们。有时,从 Cloud Function 传递的消息很少在从 Java 中提取时不会出现(在我的情况下,200 条中有 4 条被遗漏了)。
我的云功能:
const PubSub = require('@google-cloud/pubsub');
const pubsub = PubSub();
exports.messagePublisher= function(event,callback) {
const file = event.data;
function publishMessage(){
console.log('Publishing message to Scheduler: '+file.name);
//Get Topic
const topic = pubsub.topic('projects/analytics-and-presentation/topics/newTestTopic');
var publisher = topic.publisher();
var message = "sampleText";
// Publishes a message
publisher.publish(new Buffer.from(message), (err) => {
if (err) {
console.log('Error occurred',err); publishMessge();
} else {
console.log('Message published');
}
});
}
if (file.resourceState === 'exists' && file.name) {
publishMessage();
}
callback();
};
我应该怎么做才能确保没有任何消息被丢弃?
【问题讨论】:
标签: google-cloud-dataflow google-cloud-functions google-cloud-pubsub