私は現在、コマンドライン経由でFlask WebアプリでuWSGIを実行しています。使用するコマンドは次のとおりです。
uwsgi --http :80 --file /scripts/flaskWebApp/app.py --callable app --processes 4 --threads 2 -b 25000 -M
Flask@app.route()
に結び付けられた関数が 2 回実行されているように見えます。これは 60 秒を超える長時間実行されるタスクであることに注意してください。関数に print ステートメントを追加して、これを確認しました。uWSGI は次のようにログに記録します。
10.10.10.36 [pid: 6490|app: 0|req: 3/9] 10.10.10.77 () {38 vars in 659 bytes} [Thu Mar 28 17:20:42 2013] GET /versions/1.3.0/availableQualifiers/a/incrementals/ => generated 15 bytes in 1161 msecs (HTTP/1.1 200) 2 headers in 79 bytes (1 switches on core 0)
Deploying system
17:20:46 03-28-2013
Deploying system
17:21:46 03-28-2013
これは、ある種のリクエストのタイムアウトが原因であると想定しています。ワーカーとハラキリにタイムアウトを設定しようとしました(どれも役に立ちませんでした)。私が見逃しているタイムアウトはありますか?
jQuery の ajax 呼び出しを$.post()
(同期的に) 使用して、REST 呼び出しを開始します。Flask の組み込みのシンプルな Web サーバーでは発生しなかったため、これが問題であるとは思えません。