[PATCH 4/9] tools/scripts: parallel_parsearchive - load archives in parallel
Andrew Donnellan
andrew.donnellan at au1.ibm.com
Thu Feb 22 14:33:56 AEDT 2018
On 22/02/18 01:17, Daniel Axtens wrote:
> If you have multiple archives, you quickly tire of typing stuff like
> python3 manage.py parsearchive --list-id=patchwork.ozlabs.org foo-1 &
> python3 manage.py parsearchive --list-id=patchwork.ozlabs.org foo-2 &
> python3 manage.py parsearchive --list-id=patchwork.ozlabs.org foo-3 &
> python3 manage.py parsearchive --list-id=patchwork.ozlabs.org foo-4 &
> and having to copy and paste it - or retype it! - each time you reset
> the database.
>
> Instead, this patch allows you to do
> tools/scripts/parallel_parsearchive.sh --list-id=patchwork.ozlabs.org -- foo-*
>
> Much easier, especially when you are doing it a dozen times.
>
> Signed-off-by: Daniel Axtens <dja at axtens.net>
The overengineering approach to this would be to make the parsearchive
command support -j and work around python's broken threading model and
all ;) For the purposes, this solution will work fine though...
(Also, who was it that said Greenspun's tenth rule, but with GNU parallel?)
One comment below, with that fixed:
Reviewed-by: Andrew Donnellan <andrew.donnellan at au1.ibm.com>
> ---
> tools/scripts/parallel_parsearchive.sh | 55 ++++++++++++++++++++++++++++++++++
> 1 file changed, 55 insertions(+)
> create mode 100755 tools/scripts/parallel_parsearchive.sh
>
> diff --git a/tools/scripts/parallel_parsearchive.sh b/tools/scripts/parallel_parsearchive.sh
> new file mode 100755
> index 000000000000..a5197f6c2c5f
> --- /dev/null
> +++ b/tools/scripts/parallel_parsearchive.sh
> @@ -0,0 +1,55 @@
> +#!/bin/bash
> +# Patchwork - automated patch tracking system
> +# Copyright (C) 2018 Daniel Axtens <dja at axtens.net>
> +#
> +# This file is part of the Patchwork package.
> +#
> +# Patchwork 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 2 of the License, or
> +# (at your option) any later version.
> +#
> +# Patchwork 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.
> +
> +set -euo pipefail
> +
> +usage() {
> + cat <<EOF
> +parallel_parsearchive.sh - load archives in parallel
> +Usage:
> + parallel_parsearchive.sh [parsearchive options] -- <archives>
> + The -- is mandatory.
> + As many processes as there are archives will be spun up.
> +
> +Example:
> +EOF
Did you mean to put an example here?
--
Andrew Donnellan OzLabs, ADL Canberra
andrew.donnellan at au1.ibm.com IBM Australia Limited
More information about the Patchwork
mailing list