Story #3187

Updated by Tom Clegg over 5 years ago

* current state
* when last changed state
* total elapsed time of all finished/running jobs
* some sort of error message from failed job (if any)

Details (for each component):
* component name
* job description: script_name, repository, script_version, docker image
* if a job is submitted/assigned for the component: id (link), script_version, docker image, create timestamp, start/finish timestamp if applicable
* was the job submitted in the course of running this pipeline, or was an existing job reused?[1]
* status label (queued, running, finished, cancelled, failed)
* progress bar (if running)
* elapsed time [so far] if applicable
* output and log links if applicable
* "cancel job" button if applicable

fn1. This might not yet be recorded anywhere. Sometimes, but not always, job-creation-time < pipeline-start-time for existing jobs that were reused.

See [[Workbench UI images]] for layout advice.

Imported from #3188:

* Showing a job should look (nearly) the same as showing a pipeline instance with a single component. Some fields aren't applicable, like component name. Future work may change the CLI tools so jobs never even get submitted except as part of pipelines.
* On the pipeline instance page, instead of linking to "job details", make all the details available on the pipeline page.

Job summary:
* script name
* current state (queued, running, finished, failed)
* when last changed state
* who submitted
* progress bar (if running)
* live log messages (if running)
* number of tasks (total = done + running + todo)
* number of task failures (if any)
* link to output collection

Job details:
* repository
* script version
* parameters (with preview of collections?)
* runtime parameters
* docker image
* timestamps (submit, start, finish, cancel)
* elapsed time between submit and cancel/start (or now)
* elapsed time between start and cancel/finish (or now)