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.