Firebase计划具有多个crontab的函数

Firebase计划具有多个crontab的函数,firebase,google-cloud-functions,google-cloud-scheduler,Firebase,Google Cloud Functions,Google Cloud Scheduler,我希望我的函数每天运行一次,但在周末运行两次。我如何使用Firebase做到这一点 我的crontab: 0 16*** 0 22**6,0 据我所知,我唯一的选择是使用不同的crontab创建同一函数的另一个实例。有更好的办法吗 谢谢 据我所知,我唯一的选择是创建 相同的函数具有不同的crontab。有更好的办法吗 是的,这是唯一的解决办法。但是,您可以将“主”代码放在一个函数中,如下所示: exports.scheduledFunction1 = functions.pubsub.sch

我希望我的函数每天运行一次,但在周末运行两次。我如何使用Firebase做到这一点

我的crontab:

  • 0 16***
  • 0 22**6,0
据我所知,我唯一的选择是使用不同的crontab创建同一函数的另一个实例。有更好的办法吗

谢谢

据我所知,我唯一的选择是创建 相同的函数具有不同的crontab。有更好的办法吗

是的,这是唯一的解决办法。但是,您可以将“主”代码放在一个函数中,如下所示:

exports.scheduledFunction1 = functions.pubsub.schedule('...').onRun(async (context) => {

    try {
        await mainFunction();
        return null;
    } catch (error) {
        console.log(error);
        return null;
    }

});


exports.scheduledFunction2 = functions.pubsub.schedule('...').onRun(async (context) => {
    try {
        await mainFunction();
        return null;
    } catch (error) {
        console.log(error);
        return null;
    }
});

async function mainFunction() {

    //await ...
    
}
据我所知,我唯一的选择是创建 相同的函数具有不同的crontab。有更好的办法吗

是的,这是唯一的解决办法。但是,您可以将“主”代码放在一个函数中,如下所示:

exports.scheduledFunction1 = functions.pubsub.schedule('...').onRun(async (context) => {

    try {
        await mainFunction();
        return null;
    } catch (error) {
        console.log(error);
        return null;
    }

});


exports.scheduledFunction2 = functions.pubsub.schedule('...').onRun(async (context) => {
    try {
        await mainFunction();
        return null;
    } catch (error) {
        console.log(error);
        return null;
    }
});

async function mainFunction() {

    //await ...
    
}