Инкрементная обработка в актере akka
У меня есть актеры, которые должны выполнять очень длительную и дорогостоящую работу, но само вычисление может выполняться постепенно. Таким образом, хотя самому полному вычислению требуются часы, промежуточные результаты на самом деле чрезвычайно полезны, и я бы хотел отвечать на любые их запросы. Это псевдокод того, что я хочу сделать:
var intermediateResult = ...
loop {
while (mailbox.isEmpty && computationNotFinished)
intermediateResult = computationStep(intermediateResult)
receive {
case GetCurrentResult => sender ! intermediateResult
...other messages...
}
}