Deciding on the Implementation
Sophon doesn’t create a DeadlineManager automatically for you, so you have to choose from a set of implementations.
When setting up deadlines for sagas it’s best to choose a solution based on the saga storage solution.
For deadlines in aggregates, it’s best to choose the same storage solution as the Event Store.
If you are using a relational database, the DbSchedulerDeadlineManager is the best choice.
For MongoDB the JobRunrDeadlineManager would be a good second.
Both solutions require a database as a synchronization and persistence layer.
For now, sticking to the SimpleDeadlineManager as it’s easier to use.
Note that the SimpleDeadlineManager isn’t production-ready, as it doesn’t persist deadlines or communicate between application instances.