google-cloud-functions - Google Cloud Function - 检测是否发生重试
问题描述
我的设置
我有一个从订阅Google Cloud Function
接收请求的背景。PubSub
函数写在python3.8
.
我已启用该功能的重试。我的功能可能会因内存超出错误而失败。
我希望完成的事情
我想知道函数收到的请求是否是retry
. 我想优雅地处理函数失败的情况,所以第二次到达时我会处理它。
使用最大传递尝试和死信主题并不是我想要的,因为最小数量max_delivery_attempt
是 5。在这种情况下,我的函数可能会在到达死信主题之前失败 5 次。我希望它最多失败一次,然后处理这种情况。
问题
我怎么知道正在执行重试?
解决方案
正如您在文档的此页面中看到的,交付尝试字段是:
- 仅在您拉取订阅时可用,而不是在您将函数直接插入 PubSub 时可用(它是推送订阅并包装在特殊的交付包中)
- 仅当您在订阅上设置死信主题时才会填充,否则值为 0。
因此,如果您需要跟踪此值,我建议您在外部数据库(例如 firestore)中进行跟踪。
推荐阅读
- javascript - mongoDB PUT 和 DELETE 得到 404
- python - 为什么它说 UnboundLocalError: local variable 'max_range' referenced before assignment 当我分配它时
- react-native - 无法访问 Android 设备中的位置(访问被拒绝,错误代码 3,没有可用的位置提供程序)
- angular - 使用cordova在模拟器上获得白屏
- reactjs - 如何在 React Native 中实现类似的功能?
- python - 如何将窗口大小调整为 selenium 上的 deviceEmulator 尺寸
- mysql - 将sql查询组合在一起
- javascript - 控制 DOM 中的每个“src”属性更改
- javascript - 未捕获的 ReferenceError: sel 未在 HTMLDivElement.onclick 中定义
- html - 如果元素定位已经受到容器 div 的影响,如何在 CSS 中创建下拉菜单?