Skip to main content

Asynchronous and distributed scheduling of Ewoks workflows from python

Project description

ewoksjob

Pipeline Code style: black License Coverage Docs PyPI

Utilities for job scheduling of ewoks workflows.

Ewoksjob provides an ewoks interface for asynchronous and distributed scheduling of ewoks 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

Install on the worker side

pip install ewoksjob[worker]

Getting started

Start a worker pool that can execute ewoks graphs

ewoksjob worker

Submit a workflow on the client side

from ewoksjob.client import submit

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

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

scripts/worker.sh --sql

Submit workflows

scripts/runjobs.sh --sql

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-1.6.0rc1.tar.gz (39.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ewoksjob-1.6.0rc1-py3-none-any.whl (55.8 kB view details)

Uploaded Python 3

File details

Details for the file ewoksjob-1.6.0rc1.tar.gz.

File metadata

  • Download URL: ewoksjob-1.6.0rc1.tar.gz
  • Upload date:
  • Size: 39.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ewoksjob-1.6.0rc1.tar.gz
Algorithm Hash digest
SHA256 1b82b6ecc2cf9fc221620e06ea6b16e970c5042cc40b9cdec01ed0d5eb199aee
MD5 481c64453a73bfea89df168265e5c44b
BLAKE2b-256 84f6e9b394401b4bbb1581a4ac872fdbfeacec5e30f47e2ced3c71500a2fba2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ewoksjob-1.6.0rc1.tar.gz:

Publisher: release.yml on ewoks-kit/ewoksjob

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ewoksjob-1.6.0rc1-py3-none-any.whl.

File metadata

  • Download URL: ewoksjob-1.6.0rc1-py3-none-any.whl
  • Upload date:
  • Size: 55.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ewoksjob-1.6.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 508200b468797828cae05a15d03304ca8857f7db3365a246b105942f68084768
MD5 671f99fd419532d0e4ac01ad9cd0fa30
BLAKE2b-256 a86cc15339a302b798b41f037b870dc045c95d18fc72348ef8abab25bc86c245

See more details on using hashes here.

Provenance

The following attestation bundles were made for ewoksjob-1.6.0rc1-py3-none-any.whl:

Publisher: release.yml on ewoks-kit/ewoksjob

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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