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. > (define* (heartbeat-supervisor #:key (name #f) service task > #:allow-other-keys) > ;; Query service status and restart if needed. > (program-file > (format #f "~@[~a-~]heartbeat-supervisor.scm" name) > (with-imported-modules (source-module-closure > '((gnu services herd))) > #~(begin > (use-modules (gnu services herd) > (srfi srfi-1)) > > (define (is-service-running? sym) > (lambda (x) > (and (live-service-running x) > (memq sym (live-service-provision x))))) > > (let ((running? (not (null? > (any (is-service-running? '#$service) > (current-services)))))) You can send messages to the bitbucket with: (parameterize ((shepherd-message-port (%make-void-port "w0"))) …) HTH, Ludo’.