現在、私はバッチ挿入を行うn人のワーカー・アクターを実行する主なアクターを含むrest-endpoint-api-playframeworkを持っています。それをやり遂げる過程で、私は挿入物の現在のプロセスを得たいと思っています.100/1000と言うことができます。それをするために、明らかに私はプロセスの状態が何であるかを送信者に報告する俳優を持っています。上記アクターのステータスを確認する
class Application (implicit inj : Injector) extends Controller with Injectable {
implicit val timeout = Timeout(5 seconds)
val mainActor = system.actorOf(RoundRobinPool(100).props(Props(new SupervisorActor(0))), name = "helloactor")
val future = mainActor ? ProcessBatch
val workerFuture = mainActor ? CurrentProcessedItem
result = Await.result(workerFuture, timeout.duration).asInstanceOf[String]
Ok(Json.obj("return"->result.toString))
}
、私はhelloActor ? ProcessBatch
が完了した場合、その後、私はちょうどそう私はcurrentProcessedItem
の未来を返すmainActor ? CurrentProcessedItem
を実行したい、処理が完了し返すだろうと期待したいです。
基本的に私はmainActor ? ProcessBatch
が完了したかどうかを示すインジケータが必要です。出来ますか?
最初のプロセスが終了していない間にエンドポイントに2回ヒットした場合はどうなりますか?それは別の俳優がそれをwouldntそれを産むでしょうか?進行中の俳優がいるかどうか確認する必要はありませんか?私がコードを編集した方法で、helloActorは実際にmainActorです。 – kenlz