We have domains built from streams. For things going overdue (Time based event raising), we have a worker that looks at all the events and handles creation of an overdue event.
However we recently had a scenario that the worker took a bit longer to run and raised an overdue event out of sequence because the live domain objects state had changed.
We are looking for any advice on how to handle such scenarios, articles, experience, pointers appreciated.