SYSTEM_ERROR: ระบบพบข้อผิดพลาดที่ไม่คาดคิด ฟังก์ชันถูกฆ่า ฟังก์ชั่นคลาวด์

เมื่อฉันดูบันทึกจากฟังก์ชันคลาวด์ของ Firebase ฉันสังเกตเห็นว่าบางฟังก์ชันมีข้อผิดพลาดในบันทึกพร้อมคำอธิบายของ "SYSTEM_ERROR: ระบบพบข้อผิดพลาดที่ไม่คาดคิด ฟังก์ชั่นถูกฆ่า" จนกระทั่งเมื่อวาน ลักษณะการทำงานนี้ไม่ได้เป็นเช่นนั้น นี่คือหนึ่งในสิ่งเหล่านี้ ฟังก์ชั่น. ฉันจะแก้ไขได้อย่างไร?

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");
});

person Alexander Khitev    schedule 21.08.2017    source แหล่งที่มา
comment
วันนี้มีปัญหาบางอย่างกับ Cloud Functions ดูแดชบอร์ดสถานะ Firebase   -  person Bob Snyder    schedule 21.08.2017
comment
@BobSnyder ขอบคุณ!   -  person Alexander Khitev    schedule 21.08.2017


คำตอบ (2)


คุณสามารถลองปรับใช้แอปของคุณอีกครั้งได้

person Duc Filan    schedule 21.08.2017
comment
ฉันทำได้และจะทำ แต่เมื่อฉันปรับใช้ ฉันได้รับข้อความในเทอร์มินัลว่าทุกอย่างเป็นไปด้วยดี - person Alexander Khitev; 21.08.2017

น่าจะเกิดการขัดข้องของ GCF มีวันนี้และเมื่อวาน ข้อผิดพลาดเหล่านี้เกิดขึ้นระหว่างที่ไฟฟ้าดับ

วิธีแก้ปัญหา หยุดพักและรอให้เมฆหายดี ติดต่อฝ่ายสนับสนุนของ GCP หากคุณได้ซื้อการสนับสนุน

person Joseph Lust    schedule 14.09.2017