An application App-a I maintain publishes some events to an event bus for other team's application App-z. So far, the events were published right after being generated.
Now, I need to delay events ~30 minutes before publishing them. This is fairly easy to implement, but my concern is, that when App-a shuts down (restart, new version, etc), which typically happens a couple of times a week, these events will be lost.
What are strategies to deal with this situation? I have a couple of ideas, none of which I like too much:
Before I get into any complicated and potentially bad mechanism I would like to hear suggestions for this problem.