4.8 KiB
hastr | layout | title | short | tags | hasgui | hasdocs | developers | license | links | |
---|---|---|---|---|---|---|---|---|---|---|
true | project | queued | queued | linux, shell, daemon, system | false | false |
|
GPLv3 |
Information
Daemon for starting jobs to queue of calculations. It was written as proof-of-concept.
$ queued --help
Simple daemon written on BASH for starting jobs to queue of calculations
Usage: queued [ -c /etc/queued.conf ] [ -v | --version ] [ -h | --help ]
Parametrs:
-c PATH - path to configuration file. Default is '/etc/queued.conf'
-v --version - show version and exit
-h --help - show this help and exit
$ add_queued --help
add_queued [ -c /etc/queued.conf ] [ -p NUM ] [ -u USER ] [ -h | --help ] /path/to/script
Parameters:
-c PATH - path to configuration file. Default is '/etc/queued.conf'
-p NUM - job priority
-u USER - username
-h --help - show this help and exit
Developers and contributors
{% for devel in page.developers %}
- {{ devel }}{% endfor %}
License
- {{ page.license }}
Installation
Instruction
-
Download an archive with latest version of source files.
-
Extract it and install the application:
./install.sh "/path/to/root/"
If you want install it to
/
you must run it as root, e.g.:sudo ./install.sh
If no path is specified it will be installed to
/
by default.
Dependencies
I want note that all were tested on latest version of dependencies.
- Bash (including awk, grep, sed)
- systemd (optional, service file)
How to use
If you want to start the daemon just run
systemctl start queued
If you want to enable daemon autoload run
systemctl enable queued
But you may change path to configuration file or change parameters. To do it just copy (recommended) the source configuration file to new path
cp /etc/queued.conf /path/to/new/queued.conf
and edit it. Then copy the source service file to /etc
:
cp /usr/lib/systemd/system/queued.service /etc/systemd/system/queued-my-profile.service
Replace following string in the file:
ExecStart=/usr/bin/queued
to
ExecStart=/usr/bin/queued -c /path/to/new/queued.conf
Adding a job
- Create shell script with the command (e.g. it have a name
script.sh
). - 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
.
Also you may use add_queued
.
Configuration
All settings are stored in /etc/queued.conf
. After edit them you must restart daemon
systemctl restart queued
Options
WORKDIR | Full path to directory with source jobs. Default is /var/lib/queued/work . This directory must contain source scripts script-name , a priority file (it is not necessary) script-name.pr and a file with username (it is not necessary too) script-name.user . |
JOBDIR | Full path to directory with running jobs. Default is /var/lib/queued/job . All job files will be moved here. |
QUEUEFILE | Full path to file with queue list. Default is /var/lib/queued/queue . |
PRIORITY | Default priority. Default is 0 . The higher the value, the higher the priority of the task. |
SLEEPTIME | Time interval in minutes. Default is 5 . |
STARTASUSER | Default user. Default is root . This user will own created files. |