ewoksjob |version|
===================
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
.. code:: bash
pip install ewoksjob[redis]
Install on the worker side
.. code:: bash
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
.. code:: bash
ewoksjob worker
Start a workflow from python, possible from another machine
.. code:: python
from ewoksjob.client import submit
workflow = {"graph": {"id": "mygraph"}}
future = submit(args=(workflow,))
result = future.get()
Start a web server for monitoring jobs
.. code:: bash
export FLOWER_UNAUTHENTICATED_API=true # allow canceling jobs
ewoksjob monitor
Run the tests
.. code:: bash
pip install ewoksjob[test]
pytest --pyargs ewoksjob.tests
Documentation
-------------
.. toctree::
:maxdepth: 2
getting_started
routing
slurm
bliss
api