Server Mode
Cromwell is best experienced in "server" mode, as discussed in the Modes section of the docs.
Prerequisites
This tutorial page relies on completing the previous tutorials:
Goals
At the end of this tutorial you'll have run Cromwell in Server Mode, allowing you to submit more than one workflow in parallel, and query workflows even after they have completed.
Prepare Files
Paste the following into a file called hello.wdl
:
task hello {
String name
command {
echo 'Hello ${name}!'
}
output {
File response = stdout()
}
}
workflow test {
call hello
}
Paste the following into a file called inputs.json
:
{
"test.hello.name": "World"
}
Run the server
- Run
java -jar cromwell-[version].jar server
(replace [version] with actual version). Note that there is aserver
argument, this is the special sauce! - Visit localhost:8000 in your browser
Start the job
- Navigate to Workflows section and click "Show/Hide"
- Navigate to
/workflows/{version}
which has a green "POST" on the left.
- Find workflowSource file, "Choose File" and navigate to
hello.wdl
.
- Find inputs file and navigate to
inputs.json
.
- Navigate to the bottom of this section and click "Try it out!"
- Observe output from the server process.
What happened?
- Did it work? Check the status endpoint
- Holy logs! How can I just see my outputs?
- Check out metadata related to your workflow.
- All kinds of other interesting info.
Next Steps
Nice job! Now that you have cromwell running in server mode you've reached the upper echilons of Cromwell prowess! After reaching these dizzy heights, you might also find the following pages interesting: