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]

Getting started

Start a worker pool that can execute ewoks graphs

celery -A ewoksjob.apps.ewoks worker

Start a workflow on the client side

from ewoksjob.client import submit

workflow = {"graph": {"id": "mygraph"}}
future = submit(args=(workflow,))
result = future.get()

Note that both environments need to be able to import celeryconfig which contains celery configuration (mainly the message broker and result backend URL's).

Hello world example

Clone the git repository and start a worker pool

./examples/worker.sh

Submit the hello world workflow

python examples/helloworld.py

Tests

pytest --pyargs ewoksjob

To run the redis tests you need redis-server (e.g. conda install redis-server).

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.6a1.tar.gz (15.2 kB view details)

Uploaded Source

File details

Details for the file ewoksjob-0.0.6a1.tar.gz.

File metadata

  • Download URL: ewoksjob-0.0.6a1.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.5

File hashes

Hashes for ewoksjob-0.0.6a1.tar.gz
Algorithm Hash digest
SHA256 eb7522e2321213433ae3d37284a2eb4a2f10084e1588186dce2e609a17107cb9
MD5 1fe99c7e68e0ae61022b18837f6854b4
BLAKE2b-256 229d0f47f3150d08a0f266f9db5ec4e81845e931f4cd5fbf52aff65c0c020b49

See more details on using hashes here.

Supported by

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