Node.js 系统错误:系统遇到意外错误。函数被杀死。云功能
当我查看Firebase云函数的日志时,我注意到一些函数在日志中有一个错误,描述为“SYSTEM_error:SYSTEM遇到意外错误。Function killed.”,直到昨天,这种行为还没有发生,下面是其中一个函数。我怎样才能修好它Node.js 系统错误:系统遇到意外错误。函数被杀死。云功能,node.js,firebase,google-cloud-functions,Node.js,Firebase,Google Cloud Functions,当我查看Firebase云函数的日志时,我注意到一些函数在日志中有一个错误,描述为“SYSTEM_error:SYSTEM遇到意外错误。Function killed.”,直到昨天,这种行为还没有发生,下面是其中一个函数。我怎样才能修好它 const functions = require('firebase-functions'); const admin = require('firebase-admin'); module.exports = functions.database.ref
const functions = require('firebase-functions');
const admin = require('firebase-admin');
module.exports = functions.database.ref('/cards/{cardID}/interestedUsers').onWrite(event => {
const cardID = event.params.cardID;
console.log("interestedUsers", event.data.val(), cardID);
var currentInterestedUsers = [];
currentInterestedUsers = event.data.val();
var previousInterestedUsers = [];
previousInterestedUsers = event.data.previous.val();
if (event.data.previous.val() && currentInterestedUsers) {
var isNewPendingRequest = false;
if (currentInterestedUsers.length < previousInterestedUsers.length) {
currentInterestedUsers.forEach((interestedUser, index) => {
const interestedUserVal = interestedUser.val();
const isApproved = interestedUser["isApproved"];
console.log("result", interestedUser.val(), interestedUserVal);
if (isApproved == false) {
isNewPendingRequest = true;
}
});
}
if (isNewPendingRequest == false) {
const cardRef = admin.database().ref("cards").child(cardID);
const setupIsNewPendingRequestPromise = cardRef.update({
"isNewPendingRequest": false
});
return Promise.all([setupIsNewPendingRequestPromise]);
};
return console.log("interestedUsers deleting");
};
if (event.data.val() == null) {
console.log("event.data.val() == null");
const cardRef = admin.database().ref("cards").child(cardID);
// check card
const cardCheckPromise = cardRef.once("value", function(cardCheckPromiseSnap, error){
if (error) {
return console.log("cardCheckPromise", error);
};
if (cardCheckPromiseSnap.val()) {
const checkCardID = cardCheckPromiseSnap.val()["id"];
if (checkCardID) {
console.log("checkCardID", checkCardID);
const setupIsNewPendingRequestPromise = cardRef.update({
"isNewPendingRequest": false
});
return Promise.all([setupIsNewPendingRequestPromise]);
} else {
return console.log("checkCardID == null");
}
} else {
return console.log("cardCheckPromiseSnap.val() == null");
};
});
return Promise.all([cardCheckPromise]).catch(function(cardCheckPromiseError){
console.log("cardCheckPromise error", cardCheckPromiseError.message, cardCheckPromiseError.messageId)
});
}
return console.log("just update or adding a new interested user");
});
const functions=require('firebase-functions');
const admin=require('firebase-admin');
module.exports=functions.database.ref('/cards/{cardd}/interestedUsers').onWrite(事件=>{
const cardd=event.params.cardd;
log(“感兴趣的用户”,event.data.val(),cardd);
var currentInterestedUsers=[];
currentInterestedUsers=event.data.val();
var previousInterestedUsers=[];
previousInterestedUsers=event.data.previous.val();
if(event.data.previous.val()&¤tInterestedUsers){
var isNewPendingRequest=false;
if(currentInterestedUsers.length{
const interestedUserVal=interestedUser.val();
const isApproved=感兴趣的用户[“isApproved”];
log(“result”,interestedUser.val(),interestedUserVal);
如果(已批准==错误){
isNewPendingRequest=true;
}
});
}
if(isNewPendingRequest==false){
const cardRef=admin.database().ref(“cards”).child(cardd);
const setupIsNewPendingRequestPromise=cardRef.update({
“isNewPendingRequest”:false
});
返回承诺。全部([setupIsNewPendingRequestPromise]);
};
返回console.log(“感兴趣的用户删除”);
};
if(event.data.val()==null){
console.log(“event.data.val()==null”);
const cardRef=admin.database().ref(“cards”).child(cardd);
//支票卡
const cardCheckPromise=cardRef.once(“值”,函数(cardCheckPromiseSnap,错误){
如果(错误){
返回console.log(“cardCheckPromise”,错误);
};
if(cardCheckPromiseSnap.val()){
const checkcardd=cardCheckPromiseSnap.val()[“id”];
如果(检查卡){
console.log(“checkcardd”,checkcardd);
const setupIsNewPendingRequestPromise=cardRef.update({
“isNewPendingRequest”:false
});
返回承诺。全部([setupIsNewPendingRequestPromise]);
}否则{
返回console.log(“checkcardd==null”);
}
}否则{
返回console.log(“cardCheckPromiseSnap.val()==null”);
};
});
返回Promise.all([cardCheckPromise]).catch(函数(cardCheckPromiseError){
log(“cardCheckPromiseError”、cardCheckPromiseError.message、cardCheckPromiseError.messageId)
});
}
return console.log(“只是更新或添加一个新的感兴趣的用户”);
});
您可以尝试重新部署应用程序。可能是GCF停机。有一个和一个。这些错误是在停机期间抛出的
解决方案
休息一下,等待乌云愈合。如果您购买了支持,请与GCP支持部门联系。我可以这样做,我也会这样做,但当我部署时,终端上有一条消息,说一切都很顺利。今天的云功能出现了一些问题。再见。@BobSnyder谢谢!