1

数分ごとに実行されるジョブをスケジュールしていますが、このジョブが終了したときにその結果を取得するにはどうすればよいですか?

ジョブはデータベースからデータを取得し、結果を返します。

Job.in()結果をJob.now()返すだけなのでpromise、数分ごとに実行されるスケジュールされたジョブから取得するにはどうすればよいですか。

私は使っているplayframework 1.2.5Rc1

4

1 に答える 1

4

結果を別の場所に保存する必要があります。その後、必要なときに結果を参照できます。スケジュールされたジョブから結果を「返す」ことは、実際にはそれらへの参照がないため、実際には意味がありません。API は、最初にスケジュールされたジョブの promise を返すことができますが、それでは他のすべてのスケジュールされたジョブが不明のままになります。

できることの 1 つは、スケジュールされたジョブの結果をBlockingQueueにプッシュすることです。次に、コードの他の場所でtake()、キューから何かを引き出すことができるまでブロックするメソッドを呼び出すことができます。これは、継続的に補充される約束のようなものです。また、各結果をすぐに処理することを心配する必要なく、キューがいっぱいになることもできます。

于 2012-05-09T15:21:38.003 に答える