]> gitweb.factorcode.org Git - factor.git/commitdiff
mason: send a heartbeat even while a build is running, and tighten deadline for crash...
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Fri, 17 Sep 2010 04:20:53 +0000 (21:20 -0700)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Fri, 17 Sep 2010 04:27:17 +0000 (21:27 -0700)
extra/mason/mason.factor
extra/mason/server/server.factor

index 7d20ee0d4d12ec7d0aa4c83835235cdc72af6b30..c08e330218c8994b1979d558e72df0f799f45560 100755 (executable)
@@ -7,6 +7,11 @@ namespaces prettyprint threads ;
 FROM: mason.build => build ;
 IN: mason
 
+: heartbeat-loop ( -- )
+    notify-heartbeat
+    5 minutes sleep
+    heartbeat-loop ;
+
 : fatal-error-body ( error callstack -- string )
     [
         "Fatal error on " write host-name print nl
@@ -19,8 +24,6 @@ IN: mason
      email-fatal ;
 
 : build-loop ( -- )
-    notify-heartbeat
-
     [
         builds-dir get make-directories
         builds-dir get [
@@ -35,4 +38,9 @@ IN: mason
 
     build-loop ;
 
-MAIN: build-loop
\ No newline at end of file
+: mason ( -- * )
+    [ heartbeat-loop ] "Heartbeat loop" spawn
+    [ build-loop ] "Build loop" spawn
+    stop ;
+
+MAIN: mason
\ No newline at end of file
index 4bec806b826b886dfb6bd5993038a5a9f53a7bd1..6db933224721673a805bc51360c6a2d8a4bc9c6c 100644 (file)
@@ -73,7 +73,7 @@ counter "COUNTER" {
 
 : funny-builders ( -- crashed broken limbo )
     builder new select-tuples
-    [ [ current-timestamp>> 5 hours ago before? ] filter ]
+    [ [ current-timestamp>> 1 hours ago before? ] filter ]
     [ [ clean-timestamp>> 1 weeks ago before? ] filter ]
     [ [ [ clean-git-id>> ] [ release-git-id>> ] bi = not ] filter ]
     tri ;
@@ -84,7 +84,7 @@ counter "COUNTER" {
 : mason-db ( -- db ) "resource:mason.db" <sqlite-db> ;
 
 : with-mason-db ( quot -- )
-    [ mason-db ] dip with-db ; inline
+    mason-db [ with-transaction ] with-db ; inline
 
 : init-mason-db ( -- )
     { builder counter } ensure-tables ;