-
Notifications
You must be signed in to change notification settings - Fork 33
pman command: quit
This page describes the quit
command. It forces a pman
process to gracefully quit.
- This page assumes that
pman
is listening on:172.17.0.2:5010
. - Make sure that
pman
has been started (see here for more info):
pman --rawmode 1 --http --port 5010 --listeners 12
- This page assumes that a previous run has been managed with parameters
{ "action": "run",
"meta": {
"cmd": "cal 7 1970",
"auid": "rudolphpienaar",
"jid": "cal-job-1234",
"threaded": true
}
}
The msg
payload of the REST interaction with pman
is:
{ "action": "quit",
"meta": {
"when": "now",
"saveDB": true
}
}
The when
indicates a time delay, in this case right now, and the saveDB
indicates to save the state of the DB before quitting.
Just quit already! When? Now! Save the Database before quitting? Yes!
purl --verb POST --raw --http 172.17.0.2:5010/api/v1/cmd --jsonwrapper 'payload' --msg \
'{ "action": "quit",
"meta": {
"when": "now",
"saveDB": true
}
}' --quiet --jsonpprintindent 4
To use the dockerized version of purl
, and assuming a pman
on the given IP:
If you have cloned the source repo, you can cd
to the root directory and execute the docker helper scripts in the docker-bin
directory.
docker-bin/purl --verb POST --raw --http 172.17.0.2:5010/api/v1/cmd --jsonwrapper 'payload' --msg \
'{ "action": "quit",
"meta": {
"when": "now",
"saveDB": true
}
}' --quiet --jsonpprintindent 4
The helper script just creates a docker run
command line string. You can run this string directly without using the helper script and directly calling the docker
app:
docker run --name pman -v /home:/Users --rm -ti fnndsc/pman purl --verb POST --raw --http 172.17.0.2:5010/api/v1/cmd --jsonwrapper 'payload' --msg \
'{ "action": "quit",
"meta": {
"when": "now",
"saveDB": true
}
}' --quiet --jsonpprintindent 4
The above call returns the JSON string:
{
"action": "quit",
"meta": {
"saveDB": true,
"when": "now"
},
"RESTheader": "POST /api/v1/cmd HTTP/1.1\r",
"payloadsize": 72,
"RESTverb": "POST",
"receivedByServer": [
"POST /api/v1/cmd HTTP/1.1\r",
"Host: 172.17.0.2:5010\r",
"User-Agent: PycURL/7.43.0 libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3\r",
"Accept: */*\r",
"Content-type: application/vnd.collection+json\r",
"Content-Length: 72\r",
"\r",
"{\"payload\": {\"action\": \"quit\", \"meta\": {\"saveDB\": true, \"when\": \"now\"}}}"
],
"status": true,
"path": "/api/v1/cmd",
"d_ret": {}
}
with the result that the remote pman
service has shutdown gracefully.
--30--