Skip to main content

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.

  1. After cloning your fork, open the project in an IDE or code editor of you choice.

  2. It is highly advisable that you create a new Python environment for the project. Follow the instructions given here.

  3. Navigate to the project directory and install the requirement.txt packages.

    cd <project-directory>
    pip install -r requirements.txt
    
  4. Build the project:

    python setup.py install 
    
  5. Use the pusher to push a script to the task queue.

    sqm-pusher -s "cat x.txt"
    
  6. Start the executor tool.

    sqm-executor
    

    If 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

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

script_queue_manager-0.0.4.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

script_queue_manager-0.0.4-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

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

Hashes for script_queue_manager-0.0.4.tar.gz
Algorithm Hash digest
SHA256 c3c745ed540f54956779f8bfdb6b6c3e5896676ab5638f63daab1bb1e8e1fc94
MD5 f0304c17dd967929c3d7a5607afb762f
BLAKE2b-256 5860992e87ee3acfeb06f7f336193526f5ad6bfcc14aceae0efc38105b846ad0

See more details on using hashes here.

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

Hashes for script_queue_manager-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f516d28bf7772a9f6a7791f4b7181344d71560a2f72ba5a1a77719461431537b
MD5 783b5e96ff0232b9921ef45fab97b9bd
BLAKE2b-256 25749992fff7681b2460e8d99f9154232fb3ca08a8518939b0fcbdfec2b6cd90

See more details on using hashes here.

Supported by

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