【问题标题】:Keep the task in the queue even after maximum number of retry limits in google task queue即使在谷歌任务队列中的最大重试次数限制后,仍将任务保留在队列中
【发布时间】:2018-04-21 12:48:05
【问题描述】:

我正在使用 google 任务队列,并且正在队列上设置 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 之后重试该任务,但我想将其保留在任务队列中,以便稍后手动运行它) p>

Queue.yaml 中是否有参数驱动这个?

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

【问题讨论】:

    标签: python-2.7 google-app-engine task-queue google-tasks


    【解决方案1】:

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

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

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

    不知何故相关:handling failure after maximum number of retries in google app engine task queues

    【讨论】:

    • 我正在做你的第一个建议,但我想看看是否有办法在不重新创建的情况下做到这一点。
    猜你喜欢
    • 2018-04-09
    • 2012-11-13
    • 2018-02-05
    • 2020-09-22
    • 1970-01-01
    • 2019-07-12
    • 2014-01-31
    • 1970-01-01
    • 2017-03-11
    相关资源
    最近更新 更多