Skip to main content

Asynchronous and distributed scheduling of Ewoks workflows from python

Project description

ewoksjob

Utilities for job scheduling of Ewoks workflows.

Ewoks has different interfaces to execute an ewoks workflow: python API, CLI, REST API, Qt GUI, Web GUI.

Ewoksjob provides an ewoks interface for asynchronous and distributed scheduling of ewoks workflows from python.

Note that ewoksjob distributes the execution of workflows while ewoksdask distributes the execution of tasks in a workflow. So in the context of workflows, job scheduling exists on two levels.

The primary clients that need to schedule workflows are

Installation

Install on the client side

pip install ewoksjob[fullclient]

The optional fullclient install option should be used when you want full client-side capabilities, for exampe dereference URL's of ewoks task results.

Install on the worker side

pip install ewoksjob[worker]

Tests

pytest --pyargs ewoksjob

The test environment needs redis-server (e.g. conda install redis-server).

Getting started

Start a worker pool that can execute ewoks graphs

examples/worker.sh

Start a workflow on the client side

python examples/job.py

Adapt the three URL's as needed (ewoks events, celery message broker, celery job result storage).

Documentation

https://ewoksjob.readthedocs.io/

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

ewoksjob-0.0.3a0.tar.gz (10.6 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