~ salmonella-environment-setup (master) e374b1f4b5409949229ca62f02a9496d387cd3c8


commit e374b1f4b5409949229ca62f02a9496d387cd3c8
Author:     Mario Domenech Goulart <mario@parenteses.org>
AuthorDate: Sun Apr 29 18:38:34 2018 +0200
Commit:     Mario Domenech Goulart <mario@parenteses.org>
CommitDate: Sun Apr 29 18:38:34 2018 +0200

    salmonella: enable kill-hanging-children for all salmonella jobs
    
    kill-hanging-children will monitor child processes of salmonella and
    kill them if they exceed a timeout (one hour).  That should mitigate
    issues with hanging processes.

diff --git a/README b/README
index dcf7283..7a02b4b 100644
--- a/README
+++ b/README
@@ -30,6 +30,10 @@ The following CHICKEN tools are required
 * salmonella-run-publish
 * henrietta-cache (optional -- only for salmonella-run-publish's
   local-mode)
+* kill-hanging-children (optional, but enabled by default in
+  salmonella/conf/common.scm).  kill-hanging-children will
+  kill child processes of salmonella that exceed a specified
+  run time (1h by default).
 
 
 The following directory layout is assumed by run-salmonella.sh (see
@@ -93,6 +97,10 @@ $ git clone https://github.com/mario-goulart/salmonella-run-publish
 $ cd salmonella-run-publish
 $ $HOME/local/chicken/bin/chicken-install
 
+$ git clone https://github.com/mario-goulart/kill-hanging-children
+$ cd kill-hanging-children
+$ $HOME/local/chicken/bin/chicken-install
+
 
 === Install CHICKEN 5 & required eggs
 
diff --git a/conf/common.scm b/conf/common.scm
index 87adc8b..70c43bd 100644
--- a/conf/common.scm
+++ b/conf/common.scm
@@ -10,3 +10,9 @@
 (feeds-server
  (sprintf "salmonella-~a-~a.call-cc.org"
           (software-version) (machine-type)))
+
+(hanging-process-killer-program "kill-hanging-children")
+
+(hanging-process-killer-program-args
+ (lambda (pid publish-dir)
+   (list pid publish-dir)))
Trap