首页 > 解决方案 > 从 Task 检查 Google Cloud Task Queue 重试参数

问题描述

我创建了一个 Cloud Task,它的重试策略设置为最大尝试次数(例如 4 次)。

但是,如果任务最后一次失败,我们希望任务回退到默认解决方案。

也就是说,如果任务第一次失败,我们只需记录错误并返回500。又是第二次。第三个。等等...但是如果当前TaskRetryCount是该队列的最后一次尝试(即本例中的 4 次),那么我们将500在最后一次返回之前执行一些回退行为。

我可以从Cloud Tasks HTTP 处理程序文档中看到我可以X-CloudTasks-TaskRetryCount从请求的标头中获取。但它似乎没有办法获得max-attempts队列。

那是我能掌握的吗?

还是我错误地接近这个?有没有更好的方法来做我想做的事情。

标签: google-cloud-platformgoogle-cloud-tasks

解决方案


假设任务是使用 Cloud Tasks 创建的,队列级重试设置适用于队列中使用 Cloud Tasks 创建的所有任务(因为它们不能在单个任务上设置)。从 REST API调用projects.locations.queues.get 方法应该会从包含您需要的字段的队列中返回RetryConfig设置。maxAttempts

对于使用 App Engine SDK 创建的任务,您应该参考此文档(尽管我认为该方法已被弃用并且对您的用例没有用处)。


推荐阅读