aboutsummaryrefslogtreecommitdiff
path: root/scripts/guix-data-service-process-job.in
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2019-07-12 19:57:24 +0100
committerChristopher Baines <mail@cbaines.net>2019-07-12 19:57:24 +0100
commit09d927cb99d488b1d9024ec7592b900b6645d065 (patch)
treef27ea55a225eb18184200c259c2ce1bc6365e721 /scripts/guix-data-service-process-job.in
parenta6bd46b829070fca8843bc0155e5bf2b71d422dd (diff)
downloaddata-service-09d927cb99d488b1d9024ec7592b900b6645d065.tar
data-service-09d927cb99d488b1d9024ec7592b900b6645d065.tar.gz
Add a process-job command
This allows easily processing an individual job by id. This may be useful to use manually, but also when processing jobs in parallel, as forking doesn't work well with the libpq library used by squee.
Diffstat (limited to 'scripts/guix-data-service-process-job.in')
-rw-r--r--scripts/guix-data-service-process-job.in36
1 files changed, 36 insertions, 0 deletions
diff --git a/scripts/guix-data-service-process-job.in b/scripts/guix-data-service-process-job.in
new file mode 100644
index 0000000..f2753a4
--- /dev/null
+++ b/scripts/guix-data-service-process-job.in
@@ -0,0 +1,36 @@
+#!@GUILE@ --no-auto-compile
+-*- scheme -*-
+-*- geiser-scheme-implementation: guile -*-
+!#
+;;; Guix Data Service -- Information about Guix over time
+;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2019 Christopher Baines <mail@cbaines.net>
+;;;
+;;; This file is part of guix-data-service.
+;;;
+;;; guix-data-service is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; guix-data-service is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;;; General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with the guix-data-service. If not, see <http://www.gnu.org/licenses/>.
+
+(use-modules (srfi srfi-1)
+ (srfi srfi-37)
+ (ice-9 match)
+ (guix-data-service database)
+ (guix-data-service jobs load-new-guix-revision))
+
+(setvbuf (current-output-port) 'line)
+(setvbuf (current-error-port) 'line)
+
+(match (command-line)
+ ((name job)
+ (process-load-new-guix-revision-job job)))