私は単純な(つまり、メッセージングキューを処理するために別のサーバーをセットアップする必要がない)方法を探しています。計算を実行しグラフを生成する小さなWebインターフェイスです。これは私のウェブインターフェースが行う必要があるものです:Python(およびFlask)で非メッセージキュー/単純なロングポーリング
- ユーザーは
- Serverは、いくつかの計算を実行するWebインターフェイスでグラフ/データを要求します。
- サーバが計算を実行している間に、小さなコンテナが計算の進捗状況(AJAX/jQueryを介して)で更新されます(印刷の際のコンソールと同様です。 ))
- 計算終了とグラフがユーザーに表示されます。
計算がすべてサーバー側で行われているため、簡単に設定する方法がわかりません。明らかに、私は、Flaskで簡単にポーリングを処理するためのREST APIを設定したいと思うでしょう。しかし、私はどのように実際の更新を取得するか分からない。明らかに、この目的のために複雑ではあるが、解決策はメッセージキューをセットアップし、長いポーリングを行うことであろう。しかし、これが何かのための正しいアプローチであるかどうかは分かりません。
ここに私の質問は以下のとおりです。
- ファイルシステムを使用してこれを行う方法はありますか?パフォーマンスは大きな問題ではありません。 AJAX/jQueryはファイルからメッセージを見つけることができますか?進行状況をいくつかの.jsonファイルに保存しますか?
- 酸洗はどうですか? (私は実際に酸洗についてはあまりよく分かりませんが、おそらく私はメッセージを受け取ることができ、それはポーリングを処理しているAPIによって読み取ることができます)。
- ポーリングは適切なアプローチですか?これを処理するためのより良いまたはより一般的なパターンがありますか?
私はこの種のことがウェブ上で一般的であることを知っているので、私はものをオーバーコンプリートしていると感じています。かなり頻繁に私は何かが起こっているのを見て、いくつかの計算が(例えば、Google Analyticsで)行われている間、少し "loading.gif"イメージが実行されています。
ありがとうございました!
ああ、ありがとうございました*この*!私は今夜あなたのコードを見ていきます。 「しかし、サーバー側実装の良い、簡単な例を見つけることは、私の経験では困難でした」私が持っていた正確な経験なので、私は一人ではないと聞いてうれしいです。再度、感謝します!! – aaronlevin
FYI私はbottle.py(長いサブプロセススクリプトを使用)でこれを最初に試して、いくつかのブロック問題がありました。フラスカでうまくいく。ありがとう! – Nate
複数のクライアントを同期させて、同時にすべての信号を受信する方法を教えてください。 – r1d3h4rd