ドッカーコンテナでdjangoを使用しています。私は2つのボタンを持つページを持っています: '実行'と '停止'。誰かが「実行」を押すと、最適化プロセスが開始されます。「停止」を押すと停止するはずです。ドッカー+ django:フォームを使用してループ+ブレイク
views.py
def runGA(request):
#read from database and initate form
rundata = RunModel.objects.get(SID=sid)
runform = RunForm(request.POST or None, instance = rundata)
form = runform.save(commit=False) # initiating the form, to allow writing form.stop to db.stop
if request.method=="POST":
if request.POST.get("GA")=="Stop":
form.stop = True
if request.POST.get("GA")=="Run":
for iteration in range(cycles):
*optimise something with iteration*
rundata = RunModel.objects.get(SID=sid)
if rundata.stop == True:
break
form.stop = False
form.save()
return render(request,"runGA.html",{})
これは私がドッキングウィンドウコンテナを使用しますが、ちょうどそれをローカルに実行されていない場合に動作します。この構造はループを中断することができますが、実行中に更新中のFigureを表示したり、実行中の他のページの設定を確認することもできます。 (私はこれらすべての問題にも対応できるソリューションが必要です)
しかし、このコードをドッカーのコンテナで実行すると、request.POSTに問題があるように見えます。ループが完了した後にの後にすべての要求を実行し、の間にはではありません。そして、これはだけがドッカーコンテナでこれを実行すると発生します。
どのようにすればいいですか?
ありがとうございます!
ドッカーバージョン:
Client:
Version: 1.11.1
API version: 1.23
Go version: go1.6.2
Git commit: 5604cbe
Built: Wed Apr 27 15:27:26 UTC 2016
OS/Arch: darwin/amd64
Server:
Version: 1.12.0
API version: 1.24
Go version: go1.6.3
Git commit: 8eab29e
Built: Thu Jul 28 23:54:00 2016
OS/Arch: linux/amd64
ドッカーファイルはおそらく問題ではありませんが、ここにある:https://github.com/neuropower/neuropower-web/blob/development/neuropower/Dockerfile。