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