2010-12-07 10 views
2

現在、私はバックグラウンドで実行中のタスクを持っています。タスクが実行された後、出力を表示する必要があります。 Google App Engineでこれを行うにはどうすればいいですか?Google App Engineでフォアグラウンドにバックグラウンドタスクをもたらす方法は?

タスクが完了したら、私が行うことができるのは、出力を表示するはずの別のタスクを作成することですか、他の方法がありますか?

答えて

5

"フォアグラウンドにタスクを持ち込む"ことはできません。これはウェブサーバーです。サーバーは、クライアントからの要求に応答します。

しかし、あなたは似た何かを達成するためにカップルの選択肢があります。

  1. 作業が終了したことをクライアント通知、または処理のさえ結果を送信するChannel APIを使用してください。作業が終了したときに、クライアントからmemcacheまたはdatastoreと投票へ
  2. 書き込みステータス情報を決定します。
+0

オプション2はおそらくこれを行う最も簡単な方法です。 –

0

これは、あなたがそれを記述しているときに直接動作しません。

バックグラウンドタスクが開始されると、バックグラウンドタスクはその全体の存在のためにバックグラウンドタスクになります。バックグラウンドタスクの情報をユーザーに返す場合は、データストアに追加し、フォアグラウンドハンドラにその情報のデータストアをチェックさせる必要があります。

また、バックグラウンドタスクがブラウザに直接メッセージを送信するようにチャネルAPIを使用することができるかもしれないが、私は、これは(私はそれを試していない)仕事をしたりしませんかはわかりません。

あなたが達成しようとしていることについて正確にもう少し詳しく知っているなら、それを達成する方法についてもっと詳しく説明してみることができます。