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
- Ewoksserver: web backend for ewoks.
- Bliss: the ESRF beamline control system.
- Daiquiri: web backend for Bliss.
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ewoksjob-1.4.1.tar.gz.
File metadata
- Download URL: ewoksjob-1.4.1.tar.gz
- Upload date:
- Size: 34.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50eb11e9b21df609f9b7e4eb51b3ab1beabe89ef5cc5dd2395436c33ebba6d11
|
|
| MD5 |
35c200524a861c070c3fbb782a019468
|
|
| BLAKE2b-256 |
439e76d85675a4f7079b1ec397ae2d11cc59d43f080e798d31676c3cd871d4fe
|
Provenance
The following attestation bundles were made for ewoksjob-1.4.1.tar.gz:
Publisher:
release.yml on ewoks-kit/ewoksjob
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ewoksjob-1.4.1.tar.gz -
Subject digest:
50eb11e9b21df609f9b7e4eb51b3ab1beabe89ef5cc5dd2395436c33ebba6d11 - Sigstore transparency entry: 985554686
- Sigstore integration time:
-
Permalink:
ewoks-kit/ewoksjob@8ab89292aa52628c32364c3a8e1e030dcac29b5e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ewoks-kit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8ab89292aa52628c32364c3a8e1e030dcac29b5e -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file ewoksjob-1.4.1-py3-none-any.whl.
File metadata
- Download URL: ewoksjob-1.4.1-py3-none-any.whl
- Upload date:
- Size: 47.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f56496adc1f409c4fe2aaaff701888ffa23a5ced9ea8ce3795e0b4471648d30
|
|
| MD5 |
e6011bc2bbe923607a7b8cc5783789bb
|
|
| BLAKE2b-256 |
5b08f92b47eff854de85663a8034955a98ebc5e9df688ec1fe7c1776b8a170a4
|
Provenance
The following attestation bundles were made for ewoksjob-1.4.1-py3-none-any.whl:
Publisher:
release.yml on ewoks-kit/ewoksjob
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ewoksjob-1.4.1-py3-none-any.whl -
Subject digest:
0f56496adc1f409c4fe2aaaff701888ffa23a5ced9ea8ce3795e0b4471648d30 - Sigstore transparency entry: 985554701
- Sigstore integration time:
-
Permalink:
ewoks-kit/ewoksjob@8ab89292aa52628c32364c3a8e1e030dcac29b5e -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ewoks-kit
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8ab89292aa52628c32364c3a8e1e030dcac29b5e -
Trigger Event:
workflow_dispatch
-
Statement type: