Firebase的云功能-完成状态:“超时”-信息未错误

时间:2018-12-13 23:44:57

标签: firebase google-cloud-functions

如果云功能超时,我希望在日志中将其作为错误,以便我可以跟踪功能的运行状况,并在必要时采取措施提高速度。

是否可以使该日志显示为错误?

还有,有没有办法赶上这种超时?我有一个函数,如果引发异常,则将某些内容保存到实时数据库中。是否也可以捕获此错误?

Firebase响应:

  

感谢您与我们联系,并向我们提供反馈。我是   Firebase支持的Kyle,我很乐意处理此案   关于Firebase的云功能。

     

我了解到Cloud Function超时应视为   “错误”日志,而不是“信息”日志。我也同意   响应超时事件的触发器,例如functions.onTimeout()   包含在将来的Cloud版本中将非常酷   功能。

     

为此,请注意,我已经汇总了您的反馈意见(和用例)   关于将函数超时视为错误日志而非信息   日志。我还为您提交了内部功能请求票   建议使用functions.onTimeout()触发器。这将成为;这将是   处理后将在团队内部进行讨论,但我不能   提供有关何时要求的任何预计到达时间或具体时间表   功能将被实施。同时,您可能会留意   我们的发行说明和Firebase博客,介绍即将推出的功能和错误   修复了Firebase向我们尊贵的开发人员提供的功能。

2 个答案:

答案 0 :(得分:1)

我想出了一种解决方法。

我使用Google Cloud Functions工具来监视Firebase Cloud Functions的超时。

只要我的任何函数记录了"finished with status: 'timeout'",我都会设置一个自定义警报:

我转到https://console.cloud.google.com/logs/viewer并创建了自定义高级搜索:

resource.type="cloud_function"
"finished with status: 'timeout'"

然后,我使用“创建指标”功能来跟踪该日志的实例。

然后在https://console.cloud.google.com/logs/metrics下,我找到了用户定义的指标并为其创建了自定义警报。

答案 1 :(得分:0)

函数超时后,您将在日志中看到一行。您是否建议您看不到?

您无法捕获超时。这是对Cloud Functions的严格限制,可防止您的代码在其控制范围之外运行。