首页 > 解决方案 > 如何使用 firebase 实时数据库云功能完成 cron 工作?

问题描述

我尝试从这个答案https://stackoverflow.com/a/51909724/11833020遵循本指南,在https://cron-job.org/上使用 firebase 实时数据库执行 cron 作业,但它每次都失败。

我收到类似这样的错误“位置:https ://accounts.google.com/ServiceLogin?service=ah&passive=true&continue=https://appengine.google.com/_ah/conflogin%3Fcontinue%3Dhttp .. 。”

具有实时数据库的 cron 作业是否也需要一个 blaze 计划或什么?

已编辑:好的,根据@DougStevenson 的回答,我去仔细检查了所有内容,index.js 中有一个小错误,我修复了它,并且从云功能日志中执行的一切都很好,但是没有从数据库中删除,我只是更改了来自上述链接的代码以适合我的数据库结构,例如:

exports.removeOldMessages = functions.https.onRequest((req, res) => {
    const timeNow = Date.now();
    const messagesRef = admin.database().ref('/messages/{user_id}/{passed_id}');
    messagesRef.once('value', (snapshot) => {
        snapshot.forEach((child) => {
            if ((Number(child.val()['time']) + Number(child.val()['duration'])) <= timeNow) {
                child.ref.set(null);
            }
        });
    });
    return res.status(200).end();
});

正如您从图像中看到的那样,这是我的数据库的结构,这不是我的代码在 index.js 中的样子吗?

https://i.stack.imgur.com/l2Qgb.jpg

作为记录,我在 javascript 方面的编程知识为零,我只是阅读了关于它的 firebase 文档,我只是一个初学者 android 开发人员,欢迎任何帮助或建议。谢谢

标签: javascriptfirebase-realtime-databasegoogle-cloud-functions

解决方案


推荐阅读