我有一个Firebase HTTPS函数,它发送定时消息,并由Google任务触发。
根据,200范围以外的任何响应代码都被视为失败,并将触发重试。
该函数需要扩展到数百万条每日消息,因此我们需要避免重新尝试那些永久失败的消息(人员选择退出,等等)。
注意:在本例中,这一点特别重要,因为每个任务在处理之前都需要查找最新的信息,在每次尝试中都添加2-10修复数据。我们无法在有效负载中发送此信息,因为它可能在消息排队和处理消息的时间之间发生变化。
使用云任务API删除任务很容易,但我想知道是否有任何HTTP响应代码(或头)可以将这些任务标记为永久失败(例如,400个坏请求),而不重试它们。
发布于 2021-02-17 19:16:33
只有HTTP代码2XX (从200到299)被视为任务完成并停止重试。
所有其他返回代码都被视为失败,并意味着重试。
注意: 429 ( App任务队列为503 )控制队列上的重试(以防止服务拥塞)。
如果希望停止Cloud的重试机制,请返回2XX代码。这是唯一的办法。
您可以想象返回299并在此特定代码上插入错误报告警报,以跟踪它们并在这些情况下得到警报。
https://stackoverflow.com/questions/66245627
复制相似问题