How do we track progress and get estimated job completion time with Quokka?
In Quokka we have input actors whose progress can easily be tracked (we know the upper limit of the iteration). We also have stateful executors downstream who we have no idea how many inputs they have to process.
Either way we need to have a centralized actor that tracks all the progress and displays the progress bar. This actor can also be used to host a dashboard in the future.
One plan could be as follows: first we track all the input nodes. Then after those are done, the stateful executor nodes in the next stage should have all the inputs they ever need in their mailbox, which is kinda an upper limit on how fast they can go. The batching of inputs can potentially create a problem as this corresponds to big jumps in the progress bar, but it should be ok.
How do we track progress and get estimated job completion time with Quokka?
In Quokka we have input actors whose progress can easily be tracked (we know the upper limit of the iteration). We also have stateful executors downstream who we have no idea how many inputs they have to process.
Either way we need to have a centralized actor that tracks all the progress and displays the progress bar. This actor can also be used to host a dashboard in the future.
One plan could be as follows: first we track all the input nodes. Then after those are done, the stateful executor nodes in the next stage should have all the inputs they ever need in their mailbox, which is kinda an upper limit on how fast they can go. The batching of inputs can potentially create a problem as this corresponds to big jumps in the progress bar, but it should be ok.
Some simple version of this is very good to have.