Skip to main content

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:

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

runseq-0.3.0.tar.gz (41.0 kB view details)

Uploaded Source

Built Distribution

runseq-0.3.0-py3-none-any.whl (29.0 kB view details)

Uploaded Python 3

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

Hashes for runseq-0.3.0.tar.gz
Algorithm Hash digest
SHA256 82830a9bdefaac94cbc9c9183d6c06c95218d3715eda78afcbfd70afbf6e59d3
MD5 1e072bb302af671d9daca66bd8af1673
BLAKE2b-256 bb0605eca1058622a6cace877f8a3e7683cb3b856d9c7b080a06c7d252016c2e

See more details on using hashes here.

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

Hashes for runseq-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b9459904572a022fc4015f97c0e6c60859f19f7857bc227b024007eb7eaebfaa
MD5 a377f0f721bcf05c76b11caa8fa65bc9
BLAKE2b-256 707e8a2a770ded67b21ca578b5b215fedf799cd7d5fc89a6a433c5b40d0e4e45

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page