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, if my app is not running.