App Engine 任务队列 Tombstones 的持续时间是多少?

39次阅读
没有评论

问题描述

最近遇到了 TombstonedTaskError 错误,并想了解这个错误的 Tombstones 持续时间是多少?

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案

TombstonedTaskError 是在尝试使用最近已使用的名称对命名任务进行排队时引发的错误。关于 Tombstones 的持续时间已经在之前的答案中有所记录。从 Naming a task 文档中可以找到相关信息(重点是下面的部分):

当您创建新任务时,默认情况下,App Engine 会为任务分配一个唯一的名称。但是,您可以通过使用 name 参数为任务分配自己的名称。分配自己的任务名称的一个优点是,已命名的任务会进行去重,这意味着您可以使用任务名称来确保任务仅被添加一次。去重将在任务完成或被删除后持续进行 9 天

这就意味着,当您在使用命名任务时,如果一个任务的名称已经被使用过,将会在接下来的 9 天内对这个名称进行去重,以避免重复添加相同的任务。

如果您遇到了 TombstonedTaskError 错误,通常是因为尝试使用一个已经被使用过,并且还在去重期内的任务名称进行排队。您可以通过更改任务的名称来解决这个问题,或者等待去重期结束后再尝试排队。

请根据您的实际情况,确保在任务排队之前了解任务名称的去重状态,以避免遇到类似的错误。

请记住,App Engine 的文档可能会随着时间的推移而更新,因此在查看时请查阅最新的官方文档以获取最准确的信息。

正文完