是否停止firebase函数在超时时重试?

是否停止firebase函数在超时时重试?,firebase,google-cloud-functions,Firebase,Google Cloud Functions,如果Firebase云函数超时,是否可以阻止其重试 看来这是可能的。但在使用Firebase函数时,我在任何地方都找不到该设置 执行此操作的功能通过以下方式触发: exports.myFunction = functions.https.onRequest((req, res) => { ... }); 该函数向有挂起趋势的外部服务发送POST请求,即使操作成功 发生这种情况时,我会看到函数执行的日志开始,然后超时,然后立即重新开始。是什么导致了这次重试?我可以阻止它重试吗?默认

如果Firebase云函数超时,是否可以阻止其重试

看来这是可能的。但在使用Firebase函数时,我在任何地方都找不到该设置

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

exports.myFunction = functions.https.onRequest((req, res) => {
    ...
});
该函数向有挂起趋势的外部服务发送POST请求,即使操作成功


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

默认情况下,重试是关闭的

您可以在中配置您的函数。

这是关于。此外,重试配置不适用于Http触发的云功能

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


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

我有一个firebase函数正在重试,但在云控制台中找不到该设置。背景在哪里?如果不是云函数在超时时重试,那么什么会触发重试?你必须编辑你的问题,以便更具体地说明你在做什么来触发函数,你在观察什么,以及你的观察结果与你预期的不同。嗨,道格,我用我掌握的少量信息更新了这个问题。gcloud功能文档在设置中提到“失败时重试”复选框。问题其实只是:firebase函数是否存在这种设置?如果有,它在哪里?谢谢我对文档的阅读是一样的:默认情况下,这是关闭的。然而,我在日志中确实看到函数重试。目前还不清楚在什么情况下会发生这种情况。。。但它肯定会发生,即使背景是关闭的。(还需要:一种以编程方式打开设置的方法。)@KyleCordes如果您在控制台日志中看到类似重试的情况,请刷新页面,并查看是否只是控制台中偶尔重复日志项的错误。日志具体说明了什么?您是在观察函数的工作实际完成了两次,还是只是在观察日志?日志只是说:
函数执行耗时540001毫秒,状态为:“超时”
。然后下一个日志是
函数执行已启动
。是的,这个函数发送消息,人们收到重复消息。我想知道我是否能在云函数超时发生之前解决这个问题。如果我真的需要解决类似的问题,有一天我会试试这个。在本例中,我将添加自己的超时,比云超时快。然后,我将在云函数整体超时发生之前解决承诺-结束函数。当然,这可能不适用于其他情况,我为我有限的建议提前道歉。我还不能保证这会解决问题。我还没试过。希望我至少能帮一点忙。