ewoksjob 0.6#

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

pip install ewoksjob[redis]

Install on the worker side

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

ewoksjob 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

export FLOWER_UNAUTHENTICATED_API=true  # allow canceling jobs
ewoksjob monitor

Run the tests

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

Documentation#