[Feature]: Send invalidateCache events for schedule changes
In #1104 a CRUD API for managing schedules was added.
At the time of writing the idea is that the API sends an asynchronous event to the active Scheduler process whenever a schedule has to be created, changed or deleted. Therefore the UI needs to be informed asynchronously whenever a schedule has actually been updated.
This can be done by broadcasting invalidateCache events in the same way that the API or Worker currently send events for subscriptions or processes. For the schedules the type would then be "schedules".
This can also be used to emit events whenever the scheduler has executed a job; see scheduler.add_listener() and the EVENT_JOB_SUBMITTED event.
The UI should also be adapted to setup a websocket connection on the Tasks and Metadata->Schedules page so it can reload whenever a schedule changes in the backend; this is a separate ticket.
(issue to be refined in more detail)