Ich schickte Nachrichten zu Pubsub von einer Wolke Funktionen und erhielt sie in Java von einem globalen Fenster mit PubsubIO. Manchmal erscheinen einige der Nachrichten, die von der Cloud-Funktion übergeben wurden, nicht, wenn sie aus Java gezogen werden (in meinem Fall wurden 4 von 200 verpasst).Nachricht löscht in PubSub
Meine Cloud Funktion:
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();
};
Was soll ich tun, um sicherzustellen, dass keine der Nachrichten gelöscht werden?