如果Firebase Cloud功能超时,是否可以停止重试?
看起来可以config the retry logic of Google Cloud Functions。但是在使用Firebase功能时我无法在任何地方找到设置。
执行此操作的功能将通过以下方式触发:
exports.myFunction = functions.https.onRequest((req, res) => {
...
});
该功能正在向即时操作成功的外部服务发送POST请求。
当发生这种情况时,我会看到函数执行开始的日志,然后超时,然后立即重新启动。导致此重试的原因是什么?我可以阻止它重试吗?
答案 0 :(得分:0)
默认情况下,重试已关闭。
您可以在Cloud console。
中配置您的功能答案 1 :(得分:0)
大约是HTTP Protocol。同样,重试配置不适用于Http触发的云功能。
当云功能由于超时而终止时,它基本上会返回408:请求超时响应。如果您的浏览器支持408 HTTP协议,它将重新发送请求到云功能。我不确定,但是Chrome可以做到,而Safari却不能。
我还受到Firebase函数这种奇怪的行为的困扰(超时时发送408)。我认为解决此问题的唯一方法是在函数上创建包装器,该包装器将在函数超时之前返回响应。我正在尝试创建一个,但还没有完成。