Thanks for the nudge j1nx. For speed and ease, here is the high level overview Chris put forward. Would be great to get your thoughts on it and what this service might look like:
The status/watchdog service would be a new systemd service running on devices that run Mycroft core. The functionality of this service could include, but would not be limited to:
- Monitoring various aspects of the health of each core service (is service running, healthy, ready, etc.).
- Heartbeats could be emitted from each service, or the new service could check the pulse of each service on regular intervals.
- Actions could be taken if a service becomes unhealthy, such as attempting to restart a crashed service.
- Specific checks, such as the existing microphone watchdog, could be included in this service.
- Responsible for restarting services on a daily basis.
- If a user opts in to data sharing, information about exceptions or crashes could be sent to Mycroft for diagnostic purposes.
The current ProcessStatus PR is here if you haven’t seen that: Improve readiness check for all services by krisgesling · Pull Request #2648 · MycroftAI/mycroft-core · GitHub
To be clear, this PR is not intended to achieve all of the above.