Simple job manager to run jobs sequentially in a Linux machine.
Project description
runseq
Simple job manager to run jobs sequentially in a Linux machine.
This simple command line tool was created to solve a problem similar to the ones described here:
- https://stackoverflow.com/questions/72365506/how-to-change-a-sequence-of-bash-commands-while-running
- https://stackoverflow.com/questions/70946428/what-is-the-simplest-queue-job-manager-for-linux
Specifically, I wanted a way to execute long processing jobs sequentially and be able to modify the queue of upcomming jobs while a job was running.
usage
Using --help
will show the tool usage:
usage: runseq [-h] {run,add,list,ls,remove,rm,clear,cl} ...
runs jobs sequentially
options:
-h, --help show this help message and exit
actions:
valid actions
{run,add,list,ls,remove,rm,clear,cl}
run run jobs as they appear on queue; this command does not return
add add a job to the queue
list (ls) list jobs in the queue
remove (rm) remove a job from the queue
clear (cl) remove all finished jobs from the queue
To use this tool, a job runner process must be started with the command run
.
You may want to run the job runner in the background as follows:
nohup runseq run > jobs.log 2>&1 &
Upon the first interaction with the job queue, runseq will create a sqlite database named runseq.sqlite3
in the current directory. If you want to save the database somewhere else, then set the desired path in the environment variable RUNSEQ_DB
before running any runseq command.
To submit jobs to the queue, use the add
command. The first argument is the priority, which should be an integer; the remaining arguments form the command to be executed. Jobs will be executed in decreasing priority order. A shell will be spawn by the runner process and the command will be execute in the shell, which means that shell builtin commands are available as in the following example:
runseq add 1 sleep 5 '&&' echo hello
(note the quoted &&
to avoid being interpreted by the shell where the runseq add
command is being executed)
authorhip and license
This program was created by Luís Gomes (https://research.variancia.com/) and is licensed under the GPLv3 license.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file runseq-0.3.0.tar.gz
.
File metadata
- Download URL: runseq-0.3.0.tar.gz
- Upload date:
- Size: 41.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82830a9bdefaac94cbc9c9183d6c06c95218d3715eda78afcbfd70afbf6e59d3 |
|
MD5 | 1e072bb302af671d9daca66bd8af1673 |
|
BLAKE2b-256 | bb0605eca1058622a6cace877f8a3e7683cb3b856d9c7b080a06c7d252016c2e |
File details
Details for the file runseq-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: runseq-0.3.0-py3-none-any.whl
- Upload date:
- Size: 29.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9459904572a022fc4015f97c0e6c60859f19f7857bc227b024007eb7eaebfaa |
|
MD5 | a377f0f721bcf05c76b11caa8fa65bc9 |
|
BLAKE2b-256 | 707e8a2a770ded67b21ca578b5b215fedf799cd7d5fc89a6a433c5b40d0e4e45 |