如何设置Firebase Cloud Functions超时?避免重部署后重置为1分钟
解决Firebase Cloud Functions部署后超时重置问题
有两种方式可解决部署后超时自动重置为1分钟的问题,优先推荐在代码中配置,避免每次部署后重复操作:
一、在函数代码中永久配置超时
使用runWith()方法为函数指定资源配置,包括超时时间,部署时配置会同步生效。修改你的代码如下:
exports.bgl = functions.runWith({ timeoutSeconds: 300, // 示例设为5分钟,非HTTP函数最大可设为540秒(9分钟) }) .pubsub .schedule("*/10 7-18 * * 1-6") .timeZone("Europe/Berlin") .onRun(async (context) => { const response = await fetch("https://www.bgl-zuerich.ch/vermietungen"); const body = await response.text(); const noFreeObjects = await body.search("Alle Wohnungen vermietet"); if (noFreeObjects === -1) { sendEmail( "<div><h1>object found for bgl</h1><a href='https://www.bgl-zuerich.ch/vermietungen'>Link</a>" + body + "</div>", "cornelia.scherrer@tecfox.ch" ); } });
- 不同类型函数的超时上限:
- 非HTTP函数(如你的定时PubSub函数)最大支持9分钟(540秒)
- HTTP函数最大支持5分钟(300秒)
二、通过Firebase控制台临时配置(部署后会被覆盖)
若不想修改代码,可在控制台单次调整,但重新部署后需再次设置:
- 进入Firebase控制台的「函数」页面
- 找到目标函数,点击「编辑」
- 展开「运行时、构建和连接设置」中的「运行时变量、内存、超时」选项
- 修改超时时间后保存
内容的提问来源于stack exchange,提问作者Neli
相关产品推荐
相关产品推荐

