Hi, Bruno Victal <mi...@makinata.eu> writes:
> On 2023-03-30 11:22, Ludovic Courtès wrote: >> Hi, >> >> Bruno Victal <mi...@makinata.eu> skribis: >> >>> On 2023-03-28 17:25, Ludovic Courtès wrote: >>>> >>>> Nope. :-) What is ‘my-heartbeat-job’ doing? >>> >>> It queries shepherd to see if a service is running and sends a restart if >>> required. >> >> Isn’t that what #:respawn? #t is supposed to do? :-) >> >> If you find that #:respawn? doesn’t work, then we should fix it. > > Oh, I should have explained better here. > Re-spawn works, it's the (daemon) service that might misbehave/go > unresponsive without crashing, > i.e. HTTP backend stops responding to API requests but the server is still up. > The job performs a "health-check" and restarts it if it doesn't get the > appropriate response. > > A concrete situation where this could be of use is for logs.guix that > occasionally stops > recording. So some kind of supervisor for the job, that specific run time checks to ensure the process is still doing its job, if I understand correctly. I wonder if this use case could be integrated into our Shepherd services themselves, via some supervisor slot or similar, that would run some script periodically. -- Thanks, Maxim