4

Djangoを使用してファイルをアップロードし、ETLジョブを使用してキックします

サブプロセス

ジョブの実行には約15秒かかります。ユーザーにページがフリーズしていると思わせるのではなく、進行状況バーを表示したいと思います。

プログレスバーを更新するためにAJAXを理解することはできますが、方法がわからないのは、サブプロセスの実行中にHttpResponseを返すことです。おそらくスレッド化が解決策ですか?私はそこでの経験がありません。誰かが私にいくつかのガイダンスを与えることができますか?

ビューは次のとおりです。

def start_job(request):
    if request.method == 'POST':
        form = UploadForm(request.POST, request.FILES)
        if form.is_valid() and form.is_multipart():
            save_file(form.cleaned_data['file'])
            subprocess.call(["Kitchen.bat", "/file:job.kjb"])
            return HttpResponseRedirect('/success/')
    else:
        form = UploadForm()
    return render_to_response('template.html')
4

1 に答える 1

2

ありがとう@Bula、django-celeryは完璧なソリューションです。

開始するのに適した紹介ビデオを次に示します。

于 2013-01-30T19:02:59.137 に答える