計算を実行してグラフを生成する小さな Web インターフェイスのロング ポーリングを行う簡単な (つまり、メッセージング キューを処理するために別のサーバーをセットアップする必要がない) 方法を探しています。これは、私の Web インターフェイスが行う必要があることです。
- ユーザーが Web インターフェイスでグラフ/データを要求する
- サーバーはいくつかの計算を実行します。
- サーバーが計算を実行している間、計算の進行状況に応じて小さなコンテナーが更新されます (おそらく AJAX/jQuery を介して) (コンソールで print を使用して行うことと同様です (つまり、print 'calculating density function...'))。
- 計算が終了し、グラフがユーザーに表示されます。
計算はすべてサーバー側で行われるため、これを簡単に設定する方法がよくわかりません。明らかに、ポーリングを処理するために REST API をセットアップしたいと思うでしょう。Flask では簡単です。ただし、実際の更新を取得する方法がわかりません。この目的のためには複雑ではありますが、明らかな解決策は、メッセージング キューをセットアップし、長いポーリングを実行することです。ただし、これがこの単純なものに対する正しいアプローチであるかどうかはわかりません。
ここに私の質問があります:
- ファイルシステムを使用してこれを行う方法はありますか? パフォーマンスは大きな問題ではありません。AJAX/jQuery はファイルからメッセージを見つけることができますか? 進行状況を .json ファイルに保存しますか?
- ピクルスはどうですか?(私はピクルについてあまり知りませんが、おそらくメッセージ dict をピクルすることができ、ポーリングを処理している API によって読み取られる可能性があります)。
- ポーリングは正しいアプローチですか? これを処理するためのより良い、またはより一般的なパターンはありますか?
この種のことがウェブ上で一般的であることを知っているので、私は物事を複雑にしすぎていると感じています. 計算が行われている間 (たとえば、Google Analytics で)、何かが起こっていて、小さな "loading.gif" 画像が実行されているのをよく見かけます。
ご協力いただきありがとうございます!