rudolphpienaar / pman

A process management system written in python.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pman - v2.2.0.0

image

image

image

Table of Contents

Overview

This repository proves pman -- a process manager.

pman

Most simply, pman manages processes, i.e. programs or applications that are run by an underlying system. Typically, these processes are command line applications (i.e. have no GUI) and usually do not interact really with a user at all. The primary purpose of pman is to provide other software agents the ability to execute processes via http.

Originally, pman was designed to track simple processes executed on the local system. In addition, pman keeps a record of the current and historical state of processes that it has executed and is thus able to respond to queries about the processes. Some of the queries that pman can address are

  • state: Is job <XYZ> still running?
  • result: What is the stdout (or stderr) from job <XYZ>?
  • control: Kill job <XYZ>

pman also maintains a persistent human-readable/friendly database-in-the-filesystem of jobs and states of jobs.

Current versions of pman however can use container-based backends (swarm and openshift) to execute processes. In those cases, the internal database of tracking jobs becomes superfluous. Future versions of pman might depreciate the local/internal DB tracking.

Installation

Installation is relatively straightforward, and we recommend using either python virtual environments or docker.

Python Virtual Environment

On Ubuntu, install the Python virtual environment creator

Then, create a directory for your virtual environments e.g.:

You might want to add to your .bashrc file these two lines:

(Note depending on distro, the virtualenvwrapper.sh path might be

Then you can source your .bashrc and create a new Python3 virtual environment:

To activate or "enter" the virtual env:

To deactivate virtual env:

Using the fnndsc/pman dock

The easiest option however, is to just use the fnndsc/pman dock.

and then run

Usage

pman usage

For pman detailed information, see the pman wiki page.

T

[--DBsavePeriod <time>] The periodicity in seconds for the internal DB save.

[--enableTokenAuth] Enables token based authorization and can be configured to look for a .ini file or an openshift secret.

[--tokenPath <tokenPath>] Specify the absolute path to the token in the file system. By default, this looks for the pfiohConfig.ini file in the current working directory.

[-x|--desc] Provide an overview help page.

[-y|--synopsis] Provide a synopsis help summary.

[--version] Print internal version number and exit.

[-v|--verbosity <level>] Set the verbosity level. "0" typically means no/minimal output. Allows for more fine tuned output control as opposed to '--quiet' that effectively silences everything.

--container-env <env> The container env within which to run.

EXAMPLES

Start pman with 12 listeners:

About

A process management system written in python.

License:MIT License


Languages

Language:Python 85.5%Language:Shell 13.1%Language:Dockerfile 1.4%