Skip to main content

Asynchronous and distributed scheduling of Ewoks workflows from python

Project description

ewoksjob

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

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

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-0.6.0.tar.gz (24.8 kB view details)

Uploaded Source

File details

Details for the file ewoksjob-0.6.0.tar.gz.

File metadata

  • Download URL: ewoksjob-0.6.0.tar.gz
  • Upload date:
  • Size: 24.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for ewoksjob-0.6.0.tar.gz
Algorithm Hash digest
SHA256 9ccf8e7ca54b976146fc595aba6d2e7a79c34f5c55864dbf454be2fd85a938b0
MD5 f58e69433582d42941f744dd6bad21d7
BLAKE2b-256 f6dbf78bc76d8ad946fabd111602242eeac7de82d67ed5bbc448fc1cfd615dcc

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