用户设置的Firebase功能计划

qlvxas9a  于 2022-11-30  发布在  其他
关注(0)|答案(2)|浏览(130)

我为我的用户提供了一个选项“您希望在一周中的哪一天......”用户选择一周中的哪一天,我希望Firebase函数在用户选择的那一天每周触发一次。
然而,我似乎不能将任何变量数据输入到Firebase函数调度功能中。
我可以跑...

exports.scheduledFunction = functions.pubsub.schedule('every 5 minutes').onRun((context) => {
    console.log('This will be run every 5 minutes!'); 
});

但我似乎不能把“每5分钟”作为一个变量。
我可以让一个函数每周激发一次,但是我可以让用户决定它应该在哪一天激发吗?

kh212irz

kh212irz1#

你不能改变一个预定函数的频率。它必须在部署的时候设置。你需要在你的函数中做的是检查哪些用户指定的作业应该在函数被触发的时候运行,并且只执行那些应该运行的作业。所以,这不是一个配置的问题--你需要编写代码来实现这一点。

jxct1oxe

jxct1oxe2#

如果你跳出框框思考问题,那么解决方案非常简单。让pubsub scheduled函数每分钟(或每天)运行一次,并在函数内部使用一个条件(如上下文变量)来决定用户是否选择了当前时间来执行事件,只有当时间匹配时,你的scheduled函数才会运行。

相关问题