当前位置: 首页 > 知识库问答 >
问题:

Firebase的云功能是否按时触发?

方风华
2023-03-14

我正在寻找一种为Firebase安排云功能的方法,或者换句话说,在特定的时间触发它们。

共有1个答案

熊博远
2023-03-14

2019-04-18更新

现在有一种非常简单的方法可以通过Firebase在云功能上部署预定的代码。

您可以使用简单的文本语法:

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

或者更灵活的cron表格式

export scheduledFunctionCrontab =
functions.pubsub.schedule('5 11 * * *').onRun((context) => {
    console.log('This will be run every day at 11:05 AM UTC!');
});
    null

请注意,您的项目需要有一个Blaze计划才能工作,因此我将留下下面的备选选项以供参考。

如果您希望在执行另一个触发器的延迟时间内安排对云函数的单个调用,您可以使用云任务进行设置。阅读这篇文章,了解如何工作的扩展示例。

原答案如下...

还没有内置的runat/cron类型触发器。

目前,最好的选择是使用外部服务定期触发HTTP函数。有关更多信息,请参阅“函数-示例回购”中的此示例。或者使用最近推出的Google Cloud Scheduler通过PubSub或者HTTPS触发云功能:

我还强烈推荐阅读Firebase博客上的这篇文章:如何用Firebase的云函数调度(Cron)作业,以及这段视频:使用HTTP触发器和Cron为Firebase定时云函数。

最后一个链接使用cron-job.org触发云功能,并适用于免费计划中的项目。注意,这允许任何人在没有授权的情况下调用您的函数,因此您可能希望在代码本身中包含一些滥用保护机制。

 类似资料:
  • 有没有办法在触发云功能之前检查用户是否经过Firebase授权?(或在函数内)

  • 问题内容: 我正在使用Android上的Firebase Cloud Functions库,并用于调用云函数。 问题在于该函数需要10到15秒的时间才能将结果返回给客户端,因此客户端会抛出异常。 码 如何更改超时,以便客户端在引发异常之前会等待更多时间? 注意。 我没有使用OkHttp,Retrofit或默认的系统网络功能,而是在使用Firebase Cloud Functions库()来调用该函

  • 我在Android上使用Firebase Cloud Functions library,并使用调用云函数。 问题是函数需要10-15秒将结果返回给客户端,因此客户端抛出异常。 注意。我没有使用OkHttp、REVERFIT或默认的系统网络函数,而是使用Firebase Cloud functions library()调用该函数。

  • 1.grpc@1.20.0安装/users/me/desktop/appname/appname/functions/node_modules/grpc node-pre-gyp安装--fallback-to-build--library=static_library node-pre-gyp使用needle警告node-pre-gyp https下载 3.../ext/channel.cc:29

  • 问题内容: 尝试使用PayPal-node-SDK向Paypal的API请求 但我不断出错: 我尝试过的事情: 向完全不同的主机发出请求 将请求包装为 预先考虑到主机 问题是什么? 问题答案: 您需要按照付费计划进行外部API请求。 Firebase的Blaze计划(随用随付)为云功能免费分配。https://firebase.google.com/pricing/

  • 我知道这里已经有人问过这个问题,但它没有回答我的问题。我的问题是,我们怎样才能分解指数。js用于云函数,包括onWrite调用等。 我意识到您可以使用“要求”并引入外部代码。它仍然留下一些代码(例如,在Franks OCR示例中),在index.js. 理想情况下,我希望能够将整个onWrite事件触发器移动到另一个文件中。 索引中的示例。js: 如何将整个函数event watch/call移动