私はPythonを初めて使いました。私は非同期呼び出しとWebサーバーに関するいくつかの問題を抱えています。バックグラウンドサービス、SimpleHTTPServer、AJAX
私はSimpleHTPServerをAJAX経由でWebサイトと通信しています。このWebサイトでは、ホスト内のサービスを開始および停止できます。
問題は、コールが終了するまで私のHTTP:201が取得されないことです。これは、これが長時間実行されるプロセスなので決して起こりません。
「cmd &」を実行しているシェルスクリプトの中に私のcmdを持っていて、ポケンと一緒に試してみましたが、私は非ブロッキングでした。
私も、引数は(os.system、(CMD))thread.start_new_threadで試してみました
def do_POST(self):
# ... some code to get args ...
subprocess.Popen([cmd, args])
# I'd like 'cmd args' to run in the server while I return my HTTP:201 here
self.send_response(201)
self.end_headers()
self.wfile.write(output)
ありがとうシェーン、あなたは絶対に正しいですが、プロセスは並行して実行されていましたが、適切に。あなたが好奇心が強いなら、自分の答えを見てください。 –