Distributed Executor
A cross-platform reference implementation for processing shell commands over
a distributed, asynchronous queue. dist_exe is a single producer
(server) many consumer (client) system. It functions similar to GNU Parallel
but scales out to many servers and even across operating systems.
This tool uses only standard library methods so there are no dependencies. It has been tested on Linux, macOS, and Windows 10 in Python 3.7 environments. The server and clients don't even need to be using the same platform.
Installation
pip install dist_exe [--upgrade] [--user]
Usage
The server role reads from standard input and publishes to a queue. If you don't
have something actively creating work a good approach is to create a MANIFEST file
and use tail -f to wait for work to arrive.
user@host-01: ~ $ touch MANIFEST
user@host-01: ~ $ tail -f MANIFEST | dist_exe server -H 0.0.0.0 -p 5050 -k SECRET
The client role connects to the remote queue and pulls items off, executing them using the local shell. You can specify a template for the command line invocation, otherwise the items are take as being the entire invocation.
user@host-02: ~ $ dist_exe client -H host-01 -p 5050 -k SECRET -t 'echo {}'
Metadata
Release files for dist-exe 0.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dist_exe-0.0.6.tar.gz | 5.3 kB | Details |
Release files / dist_exe-0.0.6.tar.gz
| Download URL | dist_exe-0.0.6.tar.gz |
|---|---|
| Size | 5.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9c12d43c89a60c359ccc3d8b3851cb302242d01d638fa32d64d15333bf8e3558
|
|
BLAKE2b-256 checksum How to use checksums |
cad3c155aacb02eb4e4d3a174487a58963e6eaedb06ae085c5d0d92ad0d62747
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3
|