Djangoのビューから完了するまでに数時間かかるプロセスを実行する必要があります。私は国家を知る必要はなく、国家とコミュニケートする必要はありませんが、プロセスを開始した直後にリダイレクトする必要があります。Djangoビューから長期実行プロセスを開始するには?
私はsubprocess.Popen
を使って、新しいthreading.Thread
、multiprocessing.Process
の中で使ってみました。ただし、親プロセスは子プロセスが終了するまでハングアップし続けます。 がほぼになる唯一の方法はフォークを使用しています。明らかに、親が終了するまではゾンビプロセスを残すので、それは良くありません。
私はフォークを使用するときに何をしようとしているのです。だから、
if os.fork() == 0:
subprocess.Popen(["/usr/bin/python", script_path, "-v"])
else:
return HttpResponseRedirect(reverse('view_to_redirect'))
、最小限の死傷者とDjangoのビューから完全に独立したプロセスを実行するためにそこに方法はありますか?または私は何か間違っているのですか?
重複:http://stackoverflow.com/search?q=%5Bpython%5D+long-running。 http://stackoverflow.com/questions/1107826/python-long-running-daemon-job-processor、http://stackoverflow.com/questions/805120/python-task-server –