diff options
author | Christopher Baines <mail@cbaines.net> | 2019-07-12 19:57:24 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2019-07-12 19:57:24 +0100 |
commit | 09d927cb99d488b1d9024ec7592b900b6645d065 (patch) | |
tree | f27ea55a225eb18184200c259c2ce1bc6365e721 | |
parent | a6bd46b829070fca8843bc0155e5bf2b71d422dd (diff) | |
download | data-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.
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile.am | 1 | ||||
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | scripts/guix-data-service-process-job.in | 36 |
4 files changed, 39 insertions, 0 deletions
@@ -16,6 +16,7 @@ tests/*.trs guix-data-service/config.scm scripts/guix-data-service +scripts/guix-data-service-process-job scripts/guix-data-service-process-jobs scripts/guix-data-service-query-build-servers scripts/guix-data-service-process-branch-updated-email diff --git a/Makefile.am b/Makefile.am index 758f5e8..e923ec1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -22,6 +22,7 @@ include guile.am bin_SCRIPTS = \ scripts/guix-data-service \ + scripts/guix-data-service-process-job \ scripts/guix-data-service-process-jobs \ scripts/guix-data-service-process-branch-updated-email \ scripts/guix-data-service-query-build-servers diff --git a/configure.ac b/configure.ac index a50d90b..deace04 100644 --- a/configure.ac +++ b/configure.ac @@ -44,6 +44,7 @@ dnl Substitute placeholders to generate these target files AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([guix-data-service/config.scm]) AC_CONFIG_FILES([scripts/guix-data-service], [chmod +x scripts/guix-data-service]) +AC_CONFIG_FILES([scripts/guix-data-service-process-job], [chmod +x scripts/guix-data-service-process-job]) AC_CONFIG_FILES([scripts/guix-data-service-process-jobs], [chmod +x scripts/guix-data-service-process-jobs]) AC_CONFIG_FILES([scripts/guix-data-service-process-branch-updated-email], [chmod +x scripts/guix-data-service-process-branch-updated-email]) AC_CONFIG_FILES([scripts/guix-data-service-query-build-servers], [chmod +x scripts/guix-data-service-query-build-servers]) 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))) |