Javascript Firebase函数-间隔内的间隔,用于减少调用

Javascript Firebase函数-间隔内的间隔,用于减少调用,javascript,google-cloud-functions,Javascript,Google Cloud Functions,调用量越大,使用Firebase云函数的成本就越高 我想知道这是否意味着当我在一个函数中调用/运行一个函数x次时可以降低成本。我已经对此进行了测试,结果表明调用减少了。 这就是我的意思: exports.functionName = functions.region("europe-west2").pubsub.schedule('every 1 minutes') .onRun((context) => { //counts as invocation

调用量越大,使用Firebase云函数的成本就越高

我想知道这是否意味着当我在一个函数中调用/运行一个函数x次时可以降低成本。我已经对此进行了测试,结果表明调用减少了。 这就是我的意思:

exports.functionName = functions.region("europe-west2").pubsub.schedule('every 1 minutes') 
  .onRun((context) => { //counts as invocation
    console.log("Running...")
    var timesRun = 0;
    var interval = setInterval(() => {
      timesRun += 1;
      if(timesRun === 6){
        console.log("Stopping interval...")
        clearInterval(interval);
      }
      console.log("Executing...")
      
      //code... for example fetching json
      
    }, 10000); //doesn't count as invocation
});
有了它,我可以每分钟运行代码5次,而正式调用等于1。 这真的更有效,还是我遗漏了什么?

根据,您的函数在1分钟后超时,延长到9分钟

在这段时间内,无论你做什么,都将计为1次执行时间

如果您开始与其他服务(如Firestore)交互,则这些操作是分开计费的

有了它,我可以每分钟运行代码5次,而正式调用等于1。这真的更有效,还是我遗漏了什么

使用云函数,您需要为调用计数和CPU/内存使用持续时间付费。因此,虽然您的方法减少了调用次数,但它增加了您使用CPU/内存的时间

哪一个更便宜应该是把数据放进数据库的问题

请注意,虽然计算器仅显示整秒,但实际上是每100毫秒:

计算时间以100ms为增量,四舍五入到最接近的增量。例如,执行260ms的函数将按300ms计费


如果减少调用所节省的成本超过了让该函数“运行”(耗资GB秒和CPU秒)的额外成本(即使它什么都不做),那么这不是一个计算的问题吗?