ewoksjob 0.1

ewoksjob provides utilities for job scheduling of ewoks workflows.

ewoksjob has been developed by the Software group of the European Synchrotron.

Getting started

Install on the client side

python3 -m pip install ewoksjob[redis]

Install on the worker side

python3 -m pip install ewoksjob[worker,redis,monitor]

The communication between client and worker goes through Redis, RabbitMQ or Sqlite3. Depending on which one you choose, the redis installation option may vary. Both client and worker need access to a configuration that specifies the URL of the database and/or broker.

Start a worker that can execute ewoks graphs

celery -A ewoksjob.apps.ewoks worker

Start a workflow from python, possible from another machine

from ewoksjob.client import submit

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

Start a web server for monitoring jobs


Run the tests

python3 -m pip install ewoksjob[test]
python3 -m pytest --pyargs ewoksjob.tests