我已经编写了这个简单的云函数来在每次更新另一个节点中的数据时更新一个节点中的数据。
exports.trending = functions.database.ref("/trending/{tick}")
.onUpdate(event => {
const ticker = event.params.tick;
const path = "/symbols/exchange/" +ticker;
console.log("Create trending list " + ticker);
const quotes_list = event.data.ref.root.child(path);
return quotes_list.on("child_changed", function(snapshot){
console.log("Passing " + event.data.ref);
console.log("Passing " + snapshot.val());
console.log("Passing " + ticker);
updateTicker(snapshot, event.data.ref, ticker);
});
});
function updateTicker(snapshot, ref, ticker){
if(snapshot.toJSON() !== null){
console.log("Rcvd " + ref);
return ref.update({last_price: snapshot.val()}).then(noUse => { console.log("Event triggered " + snapshot.child("name").val()); });
}else{
console.log("data is not available for " + ticker);
return;
}
}
问题是: 1. on(" child_changed",snapshot)==>仅包含已更改的数据。不是完整的快照。 2.我的云功能可以在前5-10分钟内正常工作。但如果它保持闲置约5分钟,它会停止工作吗? 我在这里做错了吗?请帮忙。