停止firebase函数重试超时?

时间:2018-05-18 16:41:05

标签: firebase google-cloud-functions

如果Firebase Cloud功能超时,是否可以停止重试?

看起来可以config the retry logic of Google Cloud Functions。但是在使用Firebase功能时我无法在任何地方找到设置。

执行此操作的功能将通过以下方式触发:

exports.myFunction = functions.https.onRequest((req, res) => {
    ...
});

该功能正在向即时操作成功的外部服务发送POST请求。

当发生这种情况时,我会看到函数执行开始的日志,然后超时,然后立即重新启动。导致此重试的原因是什么?我可以阻止它重试吗?

2 个答案:

答案 0 :(得分:0)

默认情况下,重试已关闭。

您可以在Cloud console

中配置您的功能

答案 1 :(得分:0)

大约是HTTP Protocol。同样,重试配置不适用于Http触发的云功能。

当云功能由于超时而终止时,它基本上会返回408:请求超时响应。如果您的浏览器支持408 HTTP协议,它将重新发送请求到云功能。我不确定,但是Chrome可以做到,而Safari却不能。

我还受到Firebase函数这种奇怪的行为的困扰(超时时发送408)。我认为解决此问题的唯一方法是在函数上创建包装器,该包装器将在函数超时之前返回响应。我正在尝试创建一个,但还没有完成。