A CLI tool to manage script queue
Project description
Script Queue Manager
A small suite of simple CLI tools to queue up scripts to be executed. A simple use case is that of having to repeatedly execute the same scripts with different parameters and each script takes hours to execute. (eg - I personally use it to queue my deep learning training tasks)
Installing from pip
Stable release
pip install script-queue-manager
Development release
pip install -i https://test.pypi.org/simple/ script-queue-manager
Getting Started
I highly recommend that you fork the project by clicking on the Fork button and then cloning your fork using the command mentioned below.
git clone <your fork URL>
Prerequisites
- Python 3.5+
- A code editor or IDE(preferable PyCharm)
Setting up for Development
Follow the steps mentioned below to get your dev instance running.
-
After cloning your fork, open the project in an IDE or code editor of you choice.
-
It is highly advisable that you create a new Python environment for the project. Follow the instructions given here.
-
Navigate to the project directory and install the
requirement.txtpackages.cd <project-directory> pip install -r requirements.txt -
Build the project:
python setup.py install -
Use the
pusherto push a script to the task queue.sqm-pusher -s "cat x.txt" -
Start the
executortool.sqm-executorIf you want to start it as a background process, in Ubuntu run
sqm-executor &
Execution Model
The executor fetches an object from the front of the queue and prepares a script as PRE_SCRIPT + QUEUE_SCRIPT. Here, PRE_SCRIPT can be given as input to the executor using the flag -p as shown below:
sqm-executor -p "path-to-the-file-containing-the-prescripts"
The sleeping interval for the executor to sleep in between tasks can be provided using the flag -s. By default it is 15s.
The executor produces logs for every task it executes. The file path for this log file can be provided using the -l flag. By default it is located at $HOME/sqm/logs.txt.
Tests
Not yet implemented
Built With
- Persistqueue - File based queue.
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Authors
- Mayank Vaidya - Initial work
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Project details
Release history Release notifications | RSS feed
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 script_queue_manager-0.0.4.tar.gz.
File metadata
- Download URL: script_queue_manager-0.0.4.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.20.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3c745ed540f54956779f8bfdb6b6c3e5896676ab5638f63daab1bb1e8e1fc94
|
|
| MD5 |
f0304c17dd967929c3d7a5607afb762f
|
|
| BLAKE2b-256 |
5860992e87ee3acfeb06f7f336193526f5ad6bfcc14aceae0efc38105b846ad0
|
File details
Details for the file script_queue_manager-0.0.4-py3-none-any.whl.
File metadata
- Download URL: script_queue_manager-0.0.4-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.20.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f516d28bf7772a9f6a7791f4b7181344d71560a2f72ba5a1a77719461431537b
|
|
| MD5 |
783b5e96ff0232b9921ef45fab97b9bd
|
|
| BLAKE2b-256 |
25749992fff7681b2460e8d99f9154232fb3ca08a8518939b0fcbdfec2b6cd90
|