【问题标题】:How to set task status in celery chain如何在芹菜链中设置任务状态
【发布时间】:2012-11-16 03:43:38
【问题描述】:

我需要运行三个需要链式运行的任务。因此,当我请求时,我需要按此顺序运行三个任务。每个任务都从前一个任务中获取输入。

Request--->
    [First Task] -> [Second Task] -> [Third Task]

Parent of third = second
Parent of second = first

我需要设置每个子任务的链接请求的状态(使用 ajax 检索状态)。链的 id 等于 [Third Task] 的 id,所以在第三个任务中我可以设置链状态,但如何设置其他两个任务的状态。

【问题讨论】:

  • 你试过远吗?
  • 状态是什么意思?成功/失败?
  • 我尝试过使用 current_task.update_status() 但这仅设置当前任务的状态..我想从 [第一个任务] 和 [第二个任务] 设置 [第三个任务] 的状态。有没有一种方法可以从第二个任务中获取第三个任务实例(因为它们属于同一个链)我的意思是状态(成功/失败/完成/带有元数据的自定义状态)

标签: python django asynchronous task celery


【解决方案1】:

你可以的

current_app.AsyncResult({task-id}).[status|results]

其中任务 id 是第一个、第二个、第三个任务。您还可以使用 celery.inspect 查看当前正在计划或执行的任务。

【讨论】:

    猜你喜欢
    • 2021-05-30
    • 2020-11-22
    • 2014-12-04
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 2014-07-31
    • 1970-01-01
    • 2013-10-07
    相关资源
    最近更新 更多