From 09d927cb99d488b1d9024ec7592b900b6645d065 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 12 Jul 2019 19:57:24 +0100 Subject: 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. --- .gitignore | 1 + Makefile.am | 1 + configure.ac | 1 + scripts/guix-data-service-process-job.in | 36 ++++++++++++++++++++++++++++++++ 4 files changed, 39 insertions(+) create mode 100644 scripts/guix-data-service-process-job.in diff --git a/.gitignore b/.gitignore index 9b06c46..77ade4b 100644 --- a/.gitignore +++ b/.gitignore @@ -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 +;;; Copyright © 2018 Arun Isaac +;;; Copyright © 2019 Christopher Baines +;;; +;;; 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 . + +(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))) -- cgit v1.2.3