大型任务的状态进度页面django

时间:2014-05-02 10:15:03

标签: django statusbar progress

是否可以提交django表单以在后端运行2-3个大型任务,并向用户显示正在运行的任务的状态/进度的页面,并在完成时显示输出。

我的view.py文件中有一个函数,它执行大型任务。我希望在我的服务器(ubuntu)上的后端运行任务时,而不是向用户显示页面/浏览器加载(挂起执行大任务),我想显示一个页面来显示任务状态/进展。

views.py

def test(request) :

    if request.method == 'POST': # If the form has been submitted...

        form = TestForm(request.POST)

        if form.is_valid(): # All validation rules pass
            form_data    = form.cleaned_data

            ## Get the form data and use it
            output, error = executeCommand("##Perform the required action with the form data")

            if error == '' :

                return HttpResponse('Work Done !! Thanks')
            else :
                return HttpResponse('Error Occurred')

    else:
         form = TesForm() # An unbound form

    return render_to_response("test.html", { 'form' : form } , context_instance=RequestContext(request))

非常感谢任何帮助/建议。

1 个答案:

答案 0 :(得分:1)

如果您的“executeCommand”需要很长时间才能完成,我认为您的网络服务器会被卡住。

您可以使用toabi建议的消息队列。

您可以查看django-celery