2017-08-11 15 views
1

へのルートを追加した後、私はこの非常に基本的なテストコードを持っていますまったく動作しません。ときどき私が再びアプリケーションをリロードすると、私は以前に保留中だったリクエストを受け取ります。反応アプリを再読み込みすると、問題が解決されることもありますが、問題が再発することもありますが、実際には動作していないときには何のルールも見つけられません...しかし、約1〜2分、またはコンピュータを再起動します。エラーが何とか「キャッシュされた」ように見えます。フラスコのAPIは非常に遅い静的ファイル

おそらくわかっているように、問題を特定の領域に限定したり、いつでもエラーを明確に記述して生成することさえ困難です。ここ は、私が試してみましたものです:

  • は反応するアプリをサービングコードに示されているが、テストを使用すると、Node.jsのよう
    API =>すべて働く予想通り、react-サービング全く問題ありません
  • appをnode.js経由で表示しますが、apiには表示されているPythonコードを使用します。 #Server Website部分を削除すると動作します。それ以外の場合は、記載されているエラーが発生します
  • React AppとAPIはnode.jsで機能します>すべてうまく動作します
  • APIと反応アプリをFlaskで提供しようとしましたが、2つの異なるPythonファイルと2つの異なるポート= > 1つのpythonファイルを使用する場合と同じ問題

さらに、エラーソースを特定するために何ができるか教えてください。

編集:クッキーをクリアすると(例えば、Chrome用の「クリアキャッシュ」アプリ)、現在保留中のリクエストが魔法のように鳴ります...これは実際に反応アプリで問題になる可能性がありますか?

答えて

1

デフォルトでは、Flask.runは、同時要求をサポートしていないプリミティブsocket serverを実行します。これは、このような明らかなロックアップを引き起こすことがあります。

run()threaded=True引数を指定すると、thread per requestが使用され、同時要求に対してより堅牢にすることができます。

app.run(use_reloader=True, threaded=True) 
+1

また、Flaskソケットサーバーは開発専用です。プロダクション用の他のソケットサーバーを強くお勧めします。独自のコードを作成したくない場合は、Twistedまたは同様のものを見てください。 –