【问题标题】:how to get the status of running tasks with TaskResult如何使用 TaskResult 获取正在运行的任务的状态
【发布时间】:2020-09-09 11:38:10
【问题描述】:

我有一个正在运行的 celery 任务。我想用django_celery_results 获取任务的状态。但我注意到模型只有在任务完成运行后才会更新。如何使用TaskResult 获取正在运行的任务的状态?

示例视图

def test(request):
    task_id = test_task.delay()
    status = TaskResult.objects.filter(task_id=task_id)
    print(status)

当我运行上面的视图时,这是我得到的结果

<QuerySet []>

【问题讨论】:

  • 请分享你的 modals.py
  • 哪个型号。生成任务结果。请看here

标签: python django celery django-celery


【解决方案1】:

尝试在@task 装饰器中添加 track_started 参数。

例如:


    from myproject.celery import celery_app

    @celery_app.task(
        bind=True,
        track_started=True
    )
    def my_task(self, parameter_a):
       pass

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多