Groups of jobs

In some situations it can be useful to be able to manage a group of jobs as a single entity (a workflow). In order to submit a group of indendepent jobs as a workflow the first step is to write a JSON description of the workflow. This is just a list of the definitions of the individual jobs (which can be created easily using prominence create --dry-run, see here). The basic structure is:

{
  "name": "test-workflow-1",
  "jobs": [
    {...},
    {...}
  ]
}

To run this example, type:

prominence run https://raw.githubusercontent.com/prominence-eosc/examples/master/jobs-blender-render.json

If we list workflows:

$ prominence list workflows
ID    NAME               CREATED               STATUS    ELAPSED      PROGRESS
927   render-classroom   2019-08-15T06:46:41   running   0+00:00:09   0/4

Listing jobs:

$ prominence list
ID    NAME                      CREATED               STATUS    ELAPSED      IMAGE                    CMD                                                                      
928   render-classroom/frame1   2019-08-15T06:46:45   created                ikester/blender:latest   /usr/local/blender/blender -b classroom/classroom.blend -o frame_### -f 1
929   render-classroom/frame2   2019-08-15T06:46:46   created                ikester/blender:latest   /usr/local/blender/blender -b classroom/classroom.blend -o frame_### -f 2
930   render-classroom/frame3   2019-08-15T06:46:47   created                ikester/blender:latest   /usr/local/blender/blender -b classroom/classroom.blend -o frame_### -f 3
931   render-classroom/frame4   2019-08-15T06:46:48   created                ikester/blender:latest   /usr/local/blender/blender -b classroom/classroom.blend -o frame_### -f 4