2014-11-21 70 views
0

我有一个配置文件页面,用户可以在其中查看他的所有信息。让用户启动芹菜任务,并让任务完成时让用户知道

我想创建一个按钮,以便用户可以拉一些特定的外部信息。

的按钮应该开始芹菜任务,并在完成任务时,用户应该会得到“已完成”的消息

我怎样才能做到这一点?

<a href="/start-task/">Pull external info</a> 

我的“启动任务”的观点:

def start_task(request): 

    get_external_user_info.delay(user=request.user) 

    return HttpResponse("Task started") 

但我怎么做一个AJAX检查,如果任务完成?

我需要另一种视图吗?这个观点会是怎样的?

回答

0

你必须让TASK_ID

x= get_external_user_info.delay(user=request.user) 
id = x.task_id 
return HttpResponse(id) 

,使用这个ID来Ajax和获取状态后

AsyncResult(id).state 

入住这Celery task status