【问题标题】:Retry a task in celery by task_id通过 task_id 重试 celery 中的任务
【发布时间】:2011-07-05 16:06:43
【问题描述】:

我已经启动了很多任务,但其中一些还没有完成(763 个任务),处于 PENDING 状态,但系统没有处理任何事情...... 是否可以重试此任务,为 celery 提供 task_id?

【问题讨论】:

    标签: python distributed celery celery-task


    【解决方案1】:

    你不能。 您只能从内部重试任务,而不能从外部重试。

    在这种情况下,最好的办法是使用相同的 args 再次运行任务类型,这样您将执行相同的 JOB,但使用标识您的进程/任务的新 PID。

    还要记住,celery PENDING 状态不仅意味着任务正在等待执行,而且可能是未知的。

    http://celeryq.org/docs/userguide/tasks.html#pending

    希望对你有帮助

    【讨论】:

    • 2017年还是真的吗?如果是,为什么?
    • 是的,我想是的。因为根据设计,一旦任务在任何状态下完成,您就需要使用新 id 重新安排它的新实例。
    • 他们正在为 Flower 开发一个功能,即前端 GUI,似乎不会太久了:https://github.com/mher/flower/pull/158
    • 如何将相同的参数和相同的 uuid 传递给相同的任务? my_task.apply_async(args, task_id=uuid)
    • @SamuelGóngora,我不记得我为此目的实施的确切方法。您应该尝试一下并在这里告诉我们。
    猜你喜欢
    • 1970-01-01
    • 2011-07-17
    • 2011-06-19
    • 2021-04-20
    • 2015-08-19
    • 1970-01-01
    • 2021-12-11
    • 2011-09-27
    • 2011-03-22
    相关资源
    最近更新 更多