1

Python 2.7で記述された長時間実行プロセスがあり、KMLファイルが生成されるときにKMLファイルをGWTアプリケーションに非同期で送信したいと考えています。

私は、Pythonプロセスのバックエンドとして使用できるPython Webフレームワークを特定しようとしてきました。これにより、WebアプリをGoogleAppEngineでホストできる可能性があります。

私はCherrypyを使用して単純なPythonWebサーバーを作成し、JSONを使用してkmlをバックエンドからhttpリクエストを使用してGWTに送信することができました。ただし、ファイルごとに数分かかる場合があるため、ファイルが生成されるときにファイルをGWTに送信したいと思います。これを達成するための比較的単純だが効果的な方法は何でしょうか?(Comet?Long-polling?Websockets?)

より多くのPythonWebフレームワークを調査した後、トルネードは非ブロッキングであり、この回答で述べたようにロングポーリングを使用して生成されたデータを返す可能性があるため、トルネードの実験を開始しました。ただし、GAEにはWSGIが必要であるため、TornadoWebサーバーを非ブロックにすることはできません。

私はこのような同様の質問に対する答えを読みました。ただし、Webフレームワーク、GWT、またはGAEの更新によって、今日の最良のオプションが変更されたかどうか、またはこれらの回答の一部が私の場合に当てはまるかどうかはわかりません。

ロングポーリングまたは比較的簡単な別の方法を使用して非同期GWTアプリにデータを送信するために、どのPython Webフレームワークを使用することをお勧めしますか?このWebフレームワークをGAEで使用できますか、それとも他のものを使用する必要がありますか?

4

1 に答える 1

3

問題を正しく理解していれば、特別なフレームワークは必要ないかもしれません。タスクAPIチャネルAPIを使用して問題を解決できます。

Tasks APIを使用すると、長いタスクを実行でき、タスクが完了すると通知を受け取ることができます。これをChannelAPIと組み合わせて、特定のタスクが完了したときにメッセージをクライアントに直接プッシュできます。

セットアップが簡単で、同時に多くのサブスクライバーを持つことができるため、遅延ライブラリを使用してタスクの作業を簡素化し、プッシュ通知にPubNubを使用することもできます。

于 2012-09-29T17:15:40.133 に答える