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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|