Observe date time and send push notifications after date time is reached

Currently, I have some a collection in my firestore that contains objects (event objects) having a beginning time and an ending time. What I want to do now, is to implement a function that informs the participants whenever an event starts or whenever it ends. The informing step would be via sending push notifications.

I have several questions:

  • Can I use firebase cloud functions to create an observer for all the stored events which reacts on the beginning time or ending time?
  • When it comes to performance, does it make sense to have an observer on serverside for so many events?
  • Are there any webservices which I could use besides firebase for observing the events?

For sending push notifications, I am using the OneSignal framework. I think an easy way would be getting a signal from the observer telling "ok, event is finished". This would be already enough because then I would fetch all the participations for this event and send them the notification.

However, I need a solution that works, even if my app is not running/opened.