tl;dr: Use gss_service_hold() and gss_service_release() from libgsystemservice.
Automatically shutting down daemons when not in use is in vogue, and a good way of saving resources quite easily (if the service’s startup/shutdown costs are low).
libgsystemservice can do this for you automatically, if your code is based on GssService, or if you want to port over to it (which should be fairly straightforward for simple services). It supports inactivity timeouts by default; just call gss_service_hold() when you start doing some activity, and gss_service_release() when you stop.
(Also, look, it’s neat that you can generate documentation and automatically publish it from your master branch using GitLab CI!)