Following is the requirement:
We have a use-case where a step in a flow needs to wait for 3-5 days for an action to take place (We have a Graph of actors which are executed one after another whenever a request is received, each step is an actor). Similar to a business process, you might have steps that need to wait (like requesting an approval from a human etc). Ones the wait is done, the next step in the workflow will be executed.
I have explored Akka Scheduer and Quartz Scheduler, I dont think both of these solutions provide persistence i.e if the application restarts (or the axctor restarts), all jobs will be re-scheduled (day at Day 1 an actor had to wait for 3 days, on day 2 the application restarts so rather then waiting for 2 days, the actor will again be scheduled to wait for next 3 days)
Is there any guidance or recommendations for implementing a persistent scheduler? Is Akka a suitable technology for this type of use-case?