Skip to main content

Pypushflow binding for Ewoks

Project description

EwoksPpf: Pypushflow binding for Ewoks

This task scheduler allows the execution of cyclic and acyclic graphs and uses python's multiprocessing for task distribution.

Graph of actors

An Ewoks task graph is converted to a graph of actors before execution.

Source

A task is wrapped by an EwoksPythonActor followed by some binder actors, depending on the type of link between source and target. For each link in the task graph, the final actor of the source is a NameMapperActor which is connected to the target.

Unconditional link

graph LR;
    EwoksPythonActor-->NameMapperActor;

Conditional link with one condition

graph LR;
    EwoksPythonActor-->DecodeRouterActor;
    DecodeRouterActor-->NameMapperActor;

Conditional link with multiple conditions

graph LR;
    EwoksPythonActor-->DecodeRouterActor1;
    EwoksPythonActor-->DecodeRouterActor2;
    DecodeRouterActor1-->JoinActor;
    DecodeRouterActor2-->JoinActor;
    JoinActor-->NameMapperActor;

On-Error conditional link

graph LR;
    EwoksPythonActor-->NameMapperActor;

Target

graph LR;
    InputMergeActor-->EwoksPythonActor;

The NameMapperActor of a source for a specific target is connected to the InputMergeActor before that target.

Start actor

The StartActor is connected to all tasks that are the start of a task scheduling thread.

Stop actor

Tasks without successors are connected to the StopActor. This actor manages a dictionary of outputs which is considered to be the "output of the graph".

Error handler

All actors that do not have an on_error conditional link are connected to the ErrorHandler which directly connected to the StopActor.

Custom actors

These actors are not provided by pypushflow

  • EwoksythonActor: like PythonActor but it passes node name and attributes to the next actor.
  • InputMergeActor: like Joinactor (merges the input data dictionaries) triggers the downstream actors when all required input has been provided at least once. Only one non-required input passed.
  • DecodeRouterActor: line RouterActor but it dereferences thet input hashes to get the values.
  • NameMapperActor: before triggering the next task it applies filtering and name mapping to the input data.

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

ewoksppf-0.0.1a1.tar.gz (15.4 kB view details)

Uploaded Source

File details

Details for the file ewoksppf-0.0.1a1.tar.gz.

File metadata

  • Download URL: ewoksppf-0.0.1a1.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.5

File hashes

Hashes for ewoksppf-0.0.1a1.tar.gz
Algorithm Hash digest
SHA256 7f90d451009be9a1f6cc21c225c57165e7642e7d056d62ae871433f6f1e0d723
MD5 ef6aecb677077b480cc1aff9fd2f663e
BLAKE2b-256 c609322ef9b5e12460992480ccbc6fa70210dd58bf39f2c39a4b4fa1f857bc99

See more details on using hashes here.

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