Skip to main content
https://badge.fury.io/py/pfcon.svg https://travis-ci.org/FNNDSC/pfcon.svg?branch=master https://img.shields.io/badge/python-3.5%2B-blue.svg

Overview

This repository provides pfcon – a controlling service that speaks to remote pman and pfioh services.

pfcon

Most simply, pfcon pushes local data to a remote location (by talking to a remote pfioh service), runs some process on this data in the remote space using pman, and then copies the resultant data back to a local target space.

It can be used to query and control the following (for example):

  • state: Is job <XYZ> still running?

  • result: What is the stdout (or stderr) from job <XYZ>?

  • control: Kill job <XYZ>

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

sudo apt install virtualenv

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

mkdir ~/python-envs

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

export WORKON_HOME=~/python-envs
source /usr/local/bin/virtualenvwrapper.sh

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

source .bashrc
mkvirtualenv --python=python3 python_env

To activate or “enter” the virtual env:

workon python_env

To deactivate virtual env:

deactivate

Using the fnndsc/pfcon dock

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

docker pull fnndsc/pfcon

and then run

docker run --name pfcon -v /home:/Users --rm -ti fnndsc/pfcon --forever --httpResponse

Usage

For usage of pfcon, consult the relevant wiki pages.

pfcon usage

For pfcon detailed information, see the pfcon wiki page.

[--ip <IP>]

The IP interface on which to listen. Default %s.

[--port <port>]
The port on which to listen. Defaults to '5055'.

[--man <manpage>]
Internal man page with more detail on specific calls.

[--forever]
Start service and do not terminate.

[--httpResponse]
Send return strings as HTTP formatted replies with content-type html.

[--cordBlockSeconds <blockSeconds>]
The number of seconds to block/wait internally in the coordination loop.
This is the time between ``pfioh`` has indicated successful unpack of file
data and the call to ``pman`` to start processing.

[--configFileLoad <file>]
Load configuration information from the JSON formatted <file>.

[--configFileSave <file>]
Save configuration information to the JSON formatted <file>.

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

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

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

[--debugToDir <dir>]
A directory to contain various debugging output -- these are typically
JSON object strings capturing internal state. If empty string (default)
then no debugging outputs are captured/generated. If specified, then
``pfcon`` will check for dir existence and attempt to create if
needed.

[-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.

EXAMPLES

Start pfcon in forever mode:

pfcon                                                   \\
    --forever                                           \\
    --port 5005                                         \\
    --httpResponse                                      \\
    --verbosity 1                                       \\
    --debugToDir /tmp                                   \\
    --ip 127.0.0.1

Metadata

Release files for pfcon 2.2.4.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pfcon 2.2.4.6
File Size Uploaded
pfcon-2.2.4.6.tar.gz 25.1 kB Details

Release files / pfcon-2.2.4.6.tar.gz

Download URL pfcon-2.2.4.6.tar.gz
Size 25.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c063aac8fee6e1fc41696fc83066ae5931fe8ac91b5161ae6b2ed57927f57ebf
BLAKE2b-256 checksum
How to use checksums
2a9fced8eb162066568fbd0b8c1c07d609aa483eaea9b24dd7111a99984a8b8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.2

Release history Release notifications | RSS feed

This release

2.2.4.6 This release

1 release file

2.2.0.2

1 release file

2.2.0.0

1 release file

2.0.2.0

1 release file

2.0.0.4

1 release file

1.3.3

1 release file

1.3.2

1 release file

1.3.1

1 release file

1.3.0

1 release file

1.2.7

1 release file

1.2.6

1 release file

1.2.5

1 release file

1.2.4

1 release file

1.2.3

1 release file

1.2.2

1 release file

1.2.1

1 release file

1.2.0

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.6

1 release file

1.0.5

1 release file

1.0.4

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.99.3

1 release file

0.99.2

1 release file

0.99.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page