私は遊びの仕事の仕事を殺す/中断する何らかの種類の機能のために、運がなければ、見てみました!フレームワーク。Playのライブジョブを中断するにはどうしたらいいですか?フレームワーク
私に何か不足していますか?またはプレイをした!実際にはこの機能を追加していませんか?
私は遊びの仕事の仕事を殺す/中断する何らかの種類の機能のために、運がなければ、見てみました!フレームワーク。Playのライブジョブを中断するにはどうしたらいいですか?フレームワーク
私に何か不足していますか?またはプレイをした!実際にはこの機能を追加していませんか?
Java Thread
クラスにはstop
メソッドのようなものはありません。理由は不明です。きれいな方法は、interrupted
ブール値のようなものを持つことです。 play.jobs.Job
を拡張すると、簡単に自分のinterrupt
メソッドを追加して、ジョブの状態を変更することができます。スレッドならば、あなたは複数の要求の間に割り込みを行いたい場合は、あなたが play.cache.Cache
を使用して情報を一意のID(例えばUUID)を設定することができます
ComputeBigPrime primeJob = new ComputeBigPrime();
Promise<Integer> promisedPrime = primeJob.now();
// Timeout for interrupt
await("10s");
primeJob.interrupt();
// Wait until it's really finished to get the result
Integer prime = await(promisedPrime);
render(prime);
:あなたのような何かを行うことができます中断されているかどうか。もちろん
あなたは仕事が他のいくつかのAPI呼び出しにぶら下がっている場合、これは、動作しないと、あなたが本当にThread
でのようなハードstop
を行う必要がある場合は、interrupted
ブールをチェックするループが、を使用することはできません、コントローラまたはジョブの内部でThread
を使用することができます。そのすべてのJavaだけで動作するはずです。
ありがとう - プロミスオブジェクトのインターフェイスを使用してトリックを行う – BigFatBaby