2

現在、バックグラウンドで実行されているタスクがあります。タスクの実行が完了したら、出力を表示する必要があります。Google App Engine でこれを行うにはどうすればよいですか?

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

4

2 に答える 2

5

「タスクを前面に出す」ことはできません。これは Web サーバーです。サーバーは、クライアントからの要求に応答します。

ただし、同様のことを達成するには、いくつかの選択肢があります。

  1. Channel APIを使用して、作業が終了したこと、または処理の結果をクライアントに通知します。
  2. ステータス情報をmemcacheまたはデータストアに書き込み、クライアントからポーリングして、作業がいつ終了したかを判断します。
于 2010-12-07T17:04:10.420 に答える
0

あなたがそれを説明するとき、これは直接機能しません。

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

Channel APIを使用して、バックグラウンドタスクでブラウザに直接メッセージを送信することもできますが、これが機能するかどうかはわかりません(試していません)。

あなたが達成しようとしていることについてもう少し情報を提供するなら、私はそれを成し遂げる方法についてより多くの詳細を提供しようと試みることができます。

于 2010-12-07T16:54:21.220 に答える