我有一个firebase函数,应该每1小时运行一次,但只运行X次。我是这样安排的:
functions.pubsub.schedule('every 1 hour').onRun((context) => {
let counter = // read last counter value from db
counter++;
if(counter === X)
return;
// save counter in db
// my job
}
但是这种方法不是最优的,因为调度器总是活动的,即使不需要它。你有更好的方法吗?
调度函数不支持您尝试执行的操作。您所要做的是按照您想要的特定时间表,用Cloud Tasks来安排函数的未来调用。对于Stack Overflow来说,完整的指令列表太长了,但您可以阅读这篇博客文章,了解如何以编程方式安排未来对云函数的调用。