From 4ed7bc7f9095934cfc8ec1881bc24649d00e77d8 Mon Sep 17 00:00:00 2001 From: arcan1s Date: Sat, 21 Dec 2013 12:09:18 +0400 Subject: [PATCH] Release 1.0.0 --- PKGBUILD | 26 ++++++++++++++++++++++++++ README.md | 44 +++++++++++++++++++++++++++++++++++++++++++- queued-1.0.0.tar.xz | Bin 0 -> 2216 bytes sources/queued | 7 ++++--- 4 files changed, 73 insertions(+), 4 deletions(-) create mode 100644 PKGBUILD create mode 100644 queued-1.0.0.tar.xz diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..33b997b --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,26 @@ +# Author: Evgeniy "arcanis" Alexeev +# Maintainer: Evgeniy "arcanis" Alexeev + +pkgname=queued +pkgver=1.0.0 +pkgrel=1 +pkgdesc="Daemon for starting jobs to queue of calculations" +arch=('any') +url="https://github.com/arcan1s/queued" +license=("GPL") +makedeps=('git') +source=(https://github.com/arcan1s/queued/releases/download/V.${pkgver}/${pkgname}-${pkgver}.tar.xz) +md5sums=('d93c8cf20804b07b47645b0c43d45d3d') +backup=('etc/queued.conf') + +package() +{ + # daemon + install -D -m755 "${srcdir}/${pkgname}/usr/bin/queued" "${pkgdir}/usr/bin/queued" + + # service + install -D -m644 "${srcdir}/${pkgname}/usr/lib/systemd/system/queued.service" \ + "${pkgdir}/usr/lib/systemd/system/queued.service" + install -D -m644 "${srcdir}/${pkgname}/etc/queued.conf" \ + "${pkgdir}/etc/queued.conf" +} diff --git a/README.md b/README.md index 0a0001d..667aff5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,46 @@ queued ====== -Daemon for starting jobs to queue of calculations +Information +----------- +Daemon for starting jobs to queue of calculations. To start deamon just run `systemctl start queued` as root. + +help message +------------ + queued [ -jd | --jobdir /var/lib/queued/job ] [ --priority 0 ] [ -q | --queuefile /var/lib/queued/queue ] [ -u | --user root ] [ -wd | --workdir /var/lib/queued/work ] [-v | --version ] [ -h | --help ] + + Parametrs: + -jd --jobdir PATH - path to job directory. Default is '/var/lib/queued/job' + --priority NUM - defalut priority. Default is '0' + -q --queuefile PATH - path to queue file. Default is '/var/lib/queued/queue' + -u --user USERNAME - start jobs by user. Default is 'root' + -wd --workdir PATH - path to work directory. Default is '/var/lib/queued/work' + -v --version - show version and exit + -h --help - show this help and exit + +Configuration +------------- +All settings are stored in `/etc/queued.conf`. After edit them you must restart daemon (`systemctl restart queued`). + +How-to run jobs +--------------- +* create shell script with the command (it have a name `script.sh` for example) +* create priority file (`script.sh.pr`) with the job priority if it is needed +* create user file (`script.sh.user`) with the job username if it is needed +* copy files to `$WORKDIR` + + +Instruction +=========== + +Dependencies +------------ +* bash (sed, awk, etc) +* systemd + +Installation +------------ +* download sources +* copy source to `/`: + + sudo cp ../queued/* / diff --git a/queued-1.0.0.tar.xz b/queued-1.0.0.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..3256961e1aad02be57243a386cde5b53e26b4cea GIT binary patch literal 2216 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 literal 0 HcmV?d00001 diff --git a/sources/queued b/sources/queued index f32387d..fe06ac5 100755 --- a/sources/queued +++ b/sources/queued @@ -120,6 +120,7 @@ cd / [ -d "$WORKDIR/$FILE" ] && continue FILE_EXT="${FILE##*.}" [ "$FILE_EXT" = "pr" ] && continue + [ "$FILE_EXT" = "user" ] && continue [ -e "$QUEUEFILE" ] && grep --quiet "$WORKDIR/$FILE" "$QUEUEFILE" && continue echo "[II] Adding file '$FILE' to list" if [ -e "$WORKDIR/$FILE".pr ]; then @@ -168,10 +169,10 @@ cd / CURJOB=$(tail -1 "$QUEUEFILE" | awk -F "==" '{print $2}') [ -z "$CURJOB" ] && break sed -i '$d' "$QUEUEFILE" - [ -e "$CURJOB".pr ] && mv "$CURJOB".pr "$JOBDIR/$(basename "$CURJOB")".pr - mv "$CURJOB" "$JOBDIR/$(basename "$CURJOB")" 2> /dev/null || break + [ -e "$CURJOB".user ] && CUR_USER="$(cat "$CURJOB".user)" || CUR_USER="$STARTASUSER" + mv "$CURJOB"* "$JOBDIR/" 2> /dev/null || break echo "[II] Running job '$CURJOB'" - su -c "/bin/sh "$JOBDIR/$(basename "$CURJOB")"" $STARTASUSER &> "$JOBDIR/$(basename "$CURJOB")".log & + su -c "/bin/sh "$JOBDIR/$(basename "$CURJOB")" &> "$JOBDIR/$(basename "$CURJOB")".log" $CUR_USER & ) else echo "[II] You have a running job"