簡體   English   中英

Firebase:Firestore 未更新 Cloud Function 的計划函數中的數據

[英]Firebase : Firestore not updating data in Cloud Function's scheduled function

我在這里有一個非常奇怪的經歷,我的預定功能將在每 12:00 am 更新文檔並且它可以工作,但是文檔沒有任何變化。

exports.updatePrediksiData = functions.pubsub.schedule('0 0 * * *')
    .timeZone('Asia/Manila') // Users can choose timezone - default is America/Los_Angeles
    .onRun((context) => {

        //This will be run every day at 12:00 AM

        return updatePrediction()
            .catch(error => {
                return db.collection("Issues").doc(new Date().getTime().toString()).set({
                    error: error.message,
                    log: "updatePrediction failed to update prediction data."
                });
            });

    });

function updatePrediction() {

    const dateFormat = require('dateformat');

    dateFormat.i18n = {
        dayNames: [
            'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat',
            'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'
        ],
        monthNames: [
            'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec',
            'Januari', 'Februari', 'Maret', 'April', 'Mei', 'Juni', 'Juli', 'Agustus', 'September', 'Oktober', 'November', 'Desember'
        ],
        timeNames: [
            'a', 'p', 'am', 'pm', 'A', 'P', 'AM', 'PM'
        ]
    };

    var genVal = getPrediksi();

    const currentDate = new Date();

    //Tuesday and Friday is not included
    if (currentDate.getDay() === 2 || currentDate.getDay() === 5)
        genVal = "----";

    return db
        .collection("Prediksi")
        .doc("Togel")
        .set({
            date: dateFormat(new Date().getTime(), "dd mmmm yyyy"),
            value: genVal
        })
        .then(result => {
            console.log("Updating prediction is success.");
            return true;
        }).catch(error => {
            console.error("Failed updating the prediction.", error);
            throw new Error(error);
        });

}

'value' 字段的預期新數據自其周五以來將為“----”,但即使是日期也沒有任何變化。

顯示成功的截圖

正如你所看到的,它說成功。

問題

但是正如您所看到的,沒有應用任何更改,起初我認為它與 Firebase Firestore 規則有關,但功能與未應用規則的 Admin SDK 一起使用。 這里出了什么問題? 我在這里使用 Node js 10,到目前為止,這是我第一次在 Firestore 上編寫代碼時遇到這個問題,而其他功能運行良好。 提前致謝。

我確認這是Date對象的問題,我將時區更改為目標受眾作為修復,例如new Date(new Date().toLocaleString("en-US", { timeZone: "Asia/Jakarta" })) 起初我試圖移動功能區域,因為我認為這將解決問題並移動時區,但事實並非如此。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM