guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]


From: Ludovic Courtès
Date: Wed, 14 Feb 2018 17:27:23 -0500 (EST)

branch: master
commit 8080c17c21fc605674d1d257813e74bb4fb3cfc0
Author: Ludovic Courtès <address@hidden>
Date:   Wed Feb 14 20:16:35 2018 +0100

    cuirass: Clear the build queue when starting.
    
    * src/cuirass/base.scm (clear-build-queue): New procedure.
    * bin/cuirass.in (main): Call it.
---
 bin/cuirass.in       | 1 +
 src/cuirass/base.scm | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/bin/cuirass.in b/bin/cuirass.in
index ba10274..7e3c5cf 100644
--- a/bin/cuirass.in
+++ b/bin/cuirass.in
@@ -126,6 +126,7 @@ exec ${GUILE:address@hidden@} --no-auto-compile -e main -s 
"$0" "$@"
                    (let ((exit-channel (make-channel))
                          (pending
                           (begin
+                            (clear-build-queue db)
                             (log-message "retrieving list of pending 
builds...")
                             (db-get-builds db '((status pending))))))
 
diff --git a/src/cuirass/base.scm b/src/cuirass/base.scm
index ec0a016..3b1b463 100644
--- a/src/cuirass/base.scm
+++ b/src/cuirass/base.scm
@@ -49,6 +49,7 @@
             fetch-repository
             compile
             evaluate
+            clear-build-queue
             restart-builds
             build-packages
             prepare-git
@@ -452,6 +453,12 @@ updating DB accordingly."
   (string=? (assq-ref build1 #:derivation)
             (assq-ref build2 #:derivation)))
 
+(define (clear-build-queue db)
+  "Reset the status of builds in DB that are marked as \"started\".  This
+procedure is meant to be called at startup."
+  (log-message "marking stale builds as \"scheduled\"...")
+  (sqlite-exec db "UPDATE Builds SET status = -2 WHERE status = -1;"))
+
 (define (restart-builds db builds)
   "Restart builds whose status in DB is \"pending\" (scheduled or started)."
   (with-store store



reply via email to

[Prev in Thread] Current Thread [Next in Thread]