0

我正在使用谷歌任务队列,我正在队列上设置task_retry_limit

默认行为是在以下情况下从任务队列中删除任务:

1) when the task is executed successfully or

2) when the task reaches the maximum number of retry attempts set.

在我的用例中,我对第二种情况有疑问。即使在最大重试次数之后,我也想将任务保留在任务队列中

我不想在task_retry_limit之后重试该任务,但我想将其保留在任务队列中,以便以后可以手动运行它

Queue.yaml 中是否有驱动此参数的参数?

我知道解决此问题的方法是设置适度的task_age_limit,但我不希望任务继续重试。

4

1 回答 1

1

不,任务队列目前并未设计为保留达到最大重试次数的任务。

我看到您可以尝试 2 个选项,从您的任务代码内部,当您检测到它会在最终任务重试时失败:

  • 创建某种FailedTask数据存储实体,其中包含稍后在手动触发器下重新创建原始失败任务的副本并将其排入队列所需的所有信息/参数
  • 将任务重新排队到不同的队列中,在重试之间配置了极长的时间 - 足够长,直到您手动触发它们时才实际重试(您可以对任何队列中仍待处理的任何任务执行此操作,随时)。

以某种方式相关:在谷歌应用引擎任务队列中重试最大次数后处理失败

于 2017-11-09T03:25:34.467 回答