Python で Google App Engine に Comet / Server push を実装するにはどうすればよいですか?
6 に答える
App Engine アプリでコメット プッシュを行う Channel API を発表しました: http://googleappengine.blogspot.com/2010/05/app-engine-at-google-io-2010.html
Google IO に参加している場合は、明日の午後 1 時に (API トラックで) これについて話します: http://code.google.com/events/io/2010/sessions/building-real-time-apps -app-engine-feed-api.html
セッションの YouTube ビデオは次のとおりです: http://www.youtube.com/watch?v=oMXe-xK0BWA
願わくば最終更新!これは現在リリースされています: code.google.com/appengine/docs/python/channel
現時点では、App Engine(任意の言語)でCometを実行することは除外します。Cometは長寿命のHTTP接続に基づいており、AppEngineは最大で約30秒で単一の接続をタイムアウトします。より悪い試合を想像するのは難しいです!
Comet (またはそのようなもの - XMPP API) は、Google アプリ エンジンのロードマップにあります。今のところ、近づかないでください。
30 秒で十分です。いずれにしても、時間が経過して新しいイベントが発生しない場合は、ノーオペレーション メッセージを返す必要があります。
これにより、クライアントのタイムアウトが防止され、comet を実行するすべてのユーザーによって実行されます。
リクエストを送信するだけで、サーバー上で 25 秒後にイベントまたはタイムアウトになるまで待機させます。
Google App Engine は、12 月 2 日以降、Channel API を使用したサーバー プッシュをサポートしています。
App Engine 1.3.8 プレ リリースの内部を見ると、Channel API サービス スタブとその他のコードが表示されます。これで、ローカルでの試行を開始できるようです。