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.
Metadata
Release files for runseq 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| runseq-0.3.0.tar.gz | 41.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| runseq-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 70.0 kB
Release files / runseq-0.3.0.tar.gz
| Download URL | runseq-0.3.0.tar.gz |
|---|---|
| Size | 41.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
82830a9bdefaac94cbc9c9183d6c06c95218d3715eda78afcbfd70afbf6e59d3
|
|
BLAKE2b-256 checksum How to use checksums |
bb0605eca1058622a6cace877f8a3e7683cb3b856d9c7b080a06c7d252016c2e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.2
|
Release files / runseq-0.3.0-py3-none-any.whl
| Download URL | runseq-0.3.0-py3-none-any.whl |
|---|---|
| Size | 29.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b9459904572a022fc4015f97c0e6c60859f19f7857bc227b024007eb7eaebfaa
|
|
BLAKE2b-256 checksum How to use checksums |
707e8a2a770ded67b21ca578b5b215fedf799cd7d5fc89a6a433c5b40d0e4e45
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.2
|