Processamento incremental em um ator akka
Eu tenho atores que precisam fazer um trabalho muito longo e computacionalmente caro, mas a computação em si pode ser feita de forma incremental. Assim, enquanto o próprio cálculo completo leva horas para ser concluído, os resultados intermediários são extremamente úteis, e eu gostaria de poder responder a qualquer solicitação deles. Este é o pseudo código do que eu quero fazer:
var intermediateResult = ...
loop {
while (mailbox.isEmpty && computationNotFinished)
intermediateResult = computationStep(intermediateResult)
receive {
case GetCurrentResult => sender ! intermediateResult
...other messages...
}
}