更新:我更新了问题,以反映我在问题正文中所描述的内容,以及当时发生的情况。这也证明了为什么我没有将Sanyam的回答标记为正确。控制台中存在一个错误,导致超时值过时。 @MichaelBleigh的回复是最相关的,让我知道问题何时解决。
我有一个Cloud Function,在某些边缘情况下需要超过默认的60秒超时。
问题是,虽然可以在Google Cloud Developer Console的“云功能”部分更改此值,但在每次部署后,它都会恢复为原始默认值。
有没有办法可以将更改保留在此设置中,可能是在其中一个Firebase配置文件中?
答案 0 :(得分:36)
此处可以更改默认超时https://console.cloud.google.com/functions/list
select function
> test function
> edit
> timeout
答案 1 :(得分:15)
从functions v2.0.0开始,您还可以按照"Set timeout and memory allocation"部分下的文档中的说明在函数声明中设置超时:
const runtimeOpts = {
timeoutSeconds: 300,
memory: '1GB'
}
exports.myStorageFunction = functions
.runWith(runtimeOpts)
.storage
.object()
.onFinalize((object) = > {
// do some complicated things that take a lot of memory and time
});
发布说明中还突出显示了:
您将需要firebase-tools> = v4.0.0。
在Mac上,您可以使用以下命令获取最新的firebase-tools
:
npm install -g firebase-tools
还要注意上述文档链接中的限制和有效值:
The maximum value for timeoutSeconds is 540, or 9 minutes.
Valid values for memory are:
128MB
256MB
512MB
1GB
2GB
答案 2 :(得分:3)
选择功能后,然后按"编辑"它位于"更多"下拉到页面底部。当前最大值为540秒。
答案 3 :(得分:1)
Per @ MichaelBleigh的评论。这已在最新版本的Firebase CLI中解决(本文发布时为3.7.0)。
如果您仍遇到此问题,请确保使用的是最新版本的Firebase CLI。