【问题标题】:resume running terminated task in celery upon worker restart在工作人员重新启动时恢复在 celery 中运行终止的任务
【发布时间】:2018-07-04 06:43:30
【问题描述】:

阅读文档后;我的理解是,您不能在应用程序上下文之外重新运行 celery 任务。 原来;我想的是;一旦工人重新启动,终止的任务将恢复运行;然而事实并非如此。我目前正在使用

celery.control.terminate(task_id)

这会终止我的 celery 任务 ID;然后我尝试运行一个同名的工人,希望我撤销的任务能够恢复并完成;它没有。经过一番研究;我看到一个任务可以用相同的参数reran;我想如果我再次重新运行相同的任务,它可能会恢复,但事实并非如此。我怎样才能撤销任务 - 然后能够重新运行它。

我正在使用 .apply_async() 来启动我的任务。

【问题讨论】:

    标签: python celery


    【解决方案1】:

    使用撤销而不是终止,例如:

    celery_app.control.revoke(task_id)
    

    你也可以参考这个解决方案。

    Cancel an already executing task with Celery?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-27
      • 2016-02-14
      • 2014-04-13
      • 2013-12-16
      • 2020-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多