(Python) Process Manager
Project description
1. Overview
‘pman’ is a process management system that launches and tracks the status of jobs. In the most general sense, jobs are simply applications run on an underlying system shell.
2. Installation
apt install python-zmq python-webob
pip install pman
# optional
pip install httpie
3. Usage
Scripts
# start 'pman', listening on port 5010 of the current host
pman --raw 1 --http --port 5010 --listeners 12
Modules
# in yourscript.py
import pman
pman.pman(
debugFile = '/tmp/debug.file'
)
4. More
pman.py --raw 1 --http --port 5010 --listeners 12
Now, assuming the IP of the host as below, a job can be submitted to ‘pman’ using a REST type interface
http POST http://10.17.24.163:5010/api/v1/cmd/ \
Content-Type:application/json Accept:application/json \
payload:='
{
"exec": {"cmd": "cal 7 1970"},
"action":"run",
"meta": {
"jid": "123-456-1",
"auid": "rudolphpienaar"
}
}'
‘pman’ will then spawn the process and provide information on the status of the job. Note the <tt>payload</tt> JSON dictionary that provides some additional behaviour options (see later).
Jobs launched by ‘pman.py’ can be queried with
http GET http://10.17.24.163:5010/api/v1/_01/endInfo \
Content-Type:application/json Accept:application/json
for the pid and status of job “1”, for example
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
pman-0.5.1.tar.gz
(59.4 kB
view hashes)