Skip to main content

Distributed Executor

GitHub License Python Version

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)

Source distribution for dist-exe 0.0.6
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

Release history Release notifications | RSS feed

This release

0.0.6 This release

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

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