diff --git a/extra/mason/mason.factor b/extra/mason/mason.factor index 7d20ee0d4d..c08e330218 100755 --- a/extra/mason/mason.factor +++ b/extra/mason/mason.factor @@ -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 diff --git a/extra/mason/server/server.factor b/extra/mason/server/server.factor index 4bec806b82..6db9332247 100644 --- a/extra/mason/server/server.factor +++ b/extra/mason/server/server.factor @@ -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" ; : with-mason-db ( quot -- ) - [ mason-db ] dip with-db ; inline + mason-db [ with-transaction ] with-db ; inline : init-mason-db ( -- ) { builder counter } ensure-tables ;