enragedginger/akka-quartz-scheduler

How to implement a Persistent Scheduler ?

obaidsalikeen opened this issue · 3 comments

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). Similar to a business process, you might have steps that need to wait (like requesting an approval from a human etc).

Would you recommend akka-quartz-scheduler for this use-case? Also, if the application restarts after a crash, will akka-quartz-scheduler know what was the previous state? Or it will re-start all jobs? Is there any other mechanism to build a persistent scheduler?

Hello @obaidsalikeen,

People have asked about this before (#22). akka-quartz-scheduler will ensure that your job fires at the right time after it is scheduled. However, if your application fails for some reason, you'll need custom application logic to handle rescheduling the jobs.

Behind the scenes, akka-quartz-scheduler is using Quartz's RAMJobStore. You could look into trying to swap this out for something else: http://www.quartz-scheduler.org/documentation/quartz-2.3.0/configuration/

@obaidsalikeen did you implement your own logic or uses any other Job Store?

BTW, issue #85 can help with some infos like a Redis Job Store.

Closing for now. Feel free to re-open