Skip to main content

distributed system for adaptative worker/process

Project description

References

DSat is a comprehensive distributed solution made of satellites communicating with a messaging system.

The basic:

  • a process is a directed graph with alternates fixed points (routers) and moving parts (workers);

  • the output of a worker are the input of the next worker;

  • the satelite set of worker/processor does the monitoring of the load of the pool of workers process and propagate messages outside the satelite;

  • the Status of a pipelined task can be followed either dynamically (cf status_for) or statically by requesting the State(s) object

  • the workers are encapsulated in a state_machine wrapper ensuring the reporting of the finite state machine corresponding to the task

  • the solution provides native load balancing with round robin

Content

Status handling

Status are stored in a backend that ensures we are threadsafe and that we have serialization.

State Machine

A simple wrapper around a process that provides communication around the execution and (should) handle time outs.

Messaging

normally not needed outside of satlive (except parse_event)

Ensures a consistency between message emission and reception

Topological connection settings

state_machine.get_connection set the connections of your step magically according to the imperative of the graph. Because, a distributed system is mainly processes connected in a directed graph.

Version

This a safe subset of http://www.python.org/dev/peps/pep-0440/#version-scheme Given it is broken for now I use a safe subset : Given a version X.Y.Z where X Y Z are strings by convention X and Y are numbers Z is alphanumeric lower case default “0”

  • X is the major version number. X+=1 <=> big change in philosophy API

  • Y is the minor version number. Y+=1 <=> API has changed (ascendant compatibility is broken)

  • Z is a bugfix/feature addition: it shall not break any program already using the API

V1 > V2 should be true has much as in number as in alphanumeric sens.

  • Z belongs to [a-z0-9]

  • X and Y belongs to [0-9]+

Yes we are limited to 36 versions per API if needed and you must extends Z remember to keep string and number sorting consistent.

Changes

0.5.0

As perfect as an alpha can be :)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dsat-0.5.0.tar.gz (17.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page