summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-12-15 12:33:28 +0100
committerLudovic Courtès <ludo@gnu.org>2021-12-15 17:12:13 +0100
commitebbf7fc1c65d3c5e85ad7cfeef1fb9d73deb9195 (patch)
treed39f1919ff48bac8a7ae4249973cee1bbe9b3c30
parent616dc4397f02cde9cf3bde22b383f44582163db2 (diff)
downloadguix-ebbf7fc1c65d3c5e85ad7cfeef1fb9d73deb9195.tar.gz
offload: Delay call to 'read-derivation-from-file'.
This significantly reduces the amount of work done by "guix offload"
when there's no machine to offload to.

* guix/scripts/offload.scm (process-request): Add call to
'read-derivation-from-file', moved from...
(guix-offload): ... here.
-rw-r--r--guix/scripts/offload.scm8
1 files changed, 4 insertions, 4 deletions
diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm
index 835078cb97..29c3f5ec65 100644
--- a/guix/scripts/offload.scm
+++ b/guix/scripts/offload.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014-2021 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
@@ -584,7 +584,8 @@ If TIMEOUT is #f, simply evaluate EXP..."
                (lambda ()
                  ;; Offload DRV to MACHINE.
                  (display "# accept\n")
-                 (let ((inputs  (string-tokenize (read-line)))
+                 (let ((drv     (read-derivation-from-file drv))
+                       (inputs  (string-tokenize (read-line)))
                        (outputs (string-tokenize (read-line))))
                    ;; Even if BUILD-TIMEOUT is honored by MACHINE, there can
                    ;; be issues with the connection or deadlocks that could
@@ -803,8 +804,7 @@ machine."
                       (with-error-handling
                        (process-request (equal? (match:substring match 1) "1")
                                         (match:substring match 2) ; system
-                                        (read-derivation-from-file
-                                         (match:substring match 3))
+                                        (match:substring match 3)
                                         (string-tokenize
                                          (match:substring match 4) not-coma)
                                         #:print-build-trace? print-build-trace?