Getting started

To get started with the Workflow Runner (WR) a number of example EODH workflows and a Jupyter Notebook that will guide you through deploying and executing them are provided in this repository. The examples take you through deploying, viewing and executing workflows using Python in a Jupyter Notebook. You can deploy workflows from URLs pointing to CWL scripts as well as from local files, passed in as the data parameter of the HTTP request.

Setting Up Your Account

Before you start using the WR you will need to create a Hub account and then set up an account and workspace under manage account. You account will need to be approved by a Hub Administrator, and can take a few hours to be created but if your workspace is still not available after a number of hours, please contact the Hub Admin team.

Some Basic Requests

Once you have a workflow you wish to run on the Hub, you will need to send a number of HTTP requests to first deploy your workflow and then execute it with your inputs. These steps will use the convert-url workflow defined here, so download this file and save it locally under the file name `convert-url-app.cwl`. This is a Common Workflow Language definition for our workflow which uses a Docker image created from this repo. This workflow accepts an image as an input and resizes it by a given percentage scale factor.

We will build up an HTTP file that looks something like this file, to allow you to repeat these steps in future and deploy and execute other workflows. While you are able to send these HTTP requests using CURL or Postman, it is recommended you use an HTTP client in your IDE to allow you to send these requests directly from your code. The following examples will assume you have the HTTP client installed in your IDE, but you can of course rewrite the requests to work with any extensions you wish, as they are standard HTTP requests.

First set your environment variables to be used in your requests

Create an HTTP file called `workflow-runner.http` and copy the following code into it.