Google Cloud 功能超时设置不起作用

mke*_*lle 5 timeout google-cloud-platform gcloud google-cloud-functions google-cloud-firestore

即使超时设置为 540 秒,我也无法让 Google Cloud Function 运行超过 60 秒!有什么建议么?

我将部署时的超时标志设置为 --timeout=540,并且我知道该设置会通过,因为 540 秒超时设置出现在 GCP WEB UI 中。我还尝试通过 GCP WEB UI 手动将超时编辑为 540。但无论如何,我仍然在大约 62000 毫秒后收到 DEADLINE_EXCEEDED 消息。

我已经尝试了 pub/sub 和 https 方法作为 func 触发器,但仍然在约 60 秒处出现过早的函数超时。

我正在运行最新的 CLI,具有这些功能设置:

  • 触发器:http/pubsub(都测试过,结果相同)
  • 可用内存Mb:2048
  • 运行时:nodejs6
  • 状态:活跃
  • 超时时间:540秒

感谢您的任何意见!

马库斯兄弟

And*_*nir 4

我已使用文档代码进行延迟,并执行了与您的规格相同的云函数。在文档中,执行延迟了 120000 毫秒(2 分钟)。我编辑了它并将其设置为 500000 毫秒。这加上 CF 执行所需的正常时间,将达到所需的执行时间(大约 9 分钟)。如果添加 540000 来测试代码,它将在 ~540025 执行时出现超时错误,因为该值本身超出了 Cloud Function 的超时限制,同时也超出了Cloud Function 的默认最大超时限制,即 9分钟。

我还尝试使用此命令创建函数 gcloud functions deploy [FUNCTION_NAME] --trigger-http --timeout=540。部署成功后,我在GCP Cloud Function UI中手动更新了代码,如下所示

exports.timeoutTest = (req, res) => {
  setTimeout(() => {
    let message = req.query.message || req.body.message || 'Hello World today!';
    res.status(200).send(message);
    res.end();
  }, 500000); 
};
Run Code Online (Sandbox Code Playgroud)

两次执行云函数并返回状态代码 200。这意味着您可以将超时设置为超过 60 秒(默认值)。

如果您正确修改了所有内容,但仍然存在此问题,我建议您重新开始,创建一个新的 CF 并使用我提供的文档链接。