Comments (9)
Which icons do you mean? You are talking about the overall status, not about those of the single steps, right?
from o2r-platform.
No, I mean the single steps.
from o2r-platform.
Still don't know which ICONS you mean. The green checks and red crosses? However, an example would be helpful. What information should be displayed?
from o2r-platform.
Sorry for the confusion: I mean the ✔️ and the X
here:
The job actually provides a lot more information that just binary "success" and "failure", the currently unused text
property could help a lot to make clear what is going wrong. For example:
{
"id": "RUC4S",
"compendium_id": "dBlnY",
"steps": {
"validate_bag": {
"status": "failure",
"text": "Command failed: bagit.py --validate /tmp/o2r/job/RUC4S\n2017-09-15 16:49:00,659 - INFO - /tmp/o2r/job/RUC4S is invalid: Oxum error. Found 9 files and 58392 bytes on disk; expected 3 files and 317 bytes.\n",
"end": "2017-09-15T14:49:00.676Z",
"start": "2017-09-15T14:49:00.375Z"
},
"validate_compendium": {
"status": "failure",
"text": "compendium is invalid, but execution may continue",
"end": "2017-09-15T14:49:00.695Z",
"start": "2017-09-15T14:49:00.688Z"
},
"image_prepare": {
"status": "success",
"text": "payload with 67584 total bytes",
"end": "2017-09-15T14:49:00.801Z",
"start": "2017-09-15T14:49:00.709Z"
},
"image_build": {
"status": "success",
"text": "Step 1/6 : FROM alpine\nStep 2/6 : MAINTAINER <http://o2r.info>\n ---> 39dc3563c010\nStep 3/6 : ENV HOST 127.0.0.1\n ---> de6bb0cbae09\n ---> 3bc4c7353b5e\nSuccessfully tagged bagtainer:RUC4S\n",
"end": "2017-09-15T14:49:01.619Z",
"start": "2017-09-15T14:49:00.806Z"
},
"image_execute": {
"status": "success",
"text": "PING 127.0.0.1 (127.0.0.1): 56 data bytes\r\n64 bytes from 127.0.0.1: seq=0 ttl=64 time=0.050 ms\r\n64 bytes from 127.0.0.1: seq=1 ttl=64 time=0.066 ms\r\n64 bytes from 127.0.0.1: seq=2 ttl=64 time=0.045 ms\r\n64 bytes from 127.0.0.1: seq=3 ttl=64 time=0.077 ms\r\n64 bytes from 127.0.0.1: seq=4 ttl=64 time=0.122 ms\r\n64 bytes from 127.0.0.1: seq=5 ttl=64 time=0.147 ms\r\n64 bytes from 127.0.0.1: seq=6 ttl=64 time=0.061 ms\r\n64 bytes from 127.0.0.1: seq=7 ttl=64 time=0.058 ms\r\n64 bytes from 127.0.0.1: seq=8 ttl=64 time=0.061 ms\r\n64 bytes from 127.0.0.1: seq=9 ttl=64 time=0.045 ms\r\n64 bytes from 127.0.0.1: seq=10 ttl=64 time=0.043 ms\r\n64 bytes from 127.0.0.1: seq=11 ttl=64 time=0.052 ms\r\n64 bytes from 127.0.0.1: seq=12 ttl=64 time=0.073 ms\r\n64 bytes from 127.0.0.1: seq=13 ttl=64 time=0.061 ms\r\n64 bytes from 127.0.0.1: seq=14 ttl=64 time=0.066 ms\r\n64 bytes from 127.0.0.1: seq=15 ttl=64 time=0.045 ms\r\n64 bytes from 127.0.0.1: seq=16 ttl=64 time=0.052 ms\r\n64 bytes from 127.0.0.1: seq=17 ttl=64 time=0.073 ms\r\n64 bytes from 127.0.0.1: seq=18 ttl=64 time=0.046 ms\r\n64 bytes from 127.0.0.1: seq=19 ttl=64 time=0.043 ms\r\n64 bytes from 127.0.0.1: seq=20 ttl=64 time=0.044 ms\r\n64 bytes from 127.0.0.1: seq=21 ttl=64 time=0.041 ms\r\n64 bytes from 127.0.0.1: seq=22 ttl=64 time=0.050 ms\r\n64 bytes from 127.0.0.1: seq=23 ttl=64 time=0.078 ms\r\n64 bytes from 127.0.0.1: seq=24 ttl=64 time=0.051 ms\r\n64 bytes from 127.0.0.1: seq=25 ttl=64 time=0.043 ms\r\n64 bytes from 127.0.0.1: seq=26 ttl=64 time=0.049 ms\r\n64 bytes from 127.0.0.1: seq=27 ttl=64 time=0.063 ms\r\n64 bytes from 127.0.0.1: seq=28 ttl=64 time=0.049 ms\r\n64 bytes from 127.0.0.1: seq=29 ttl=64 time=0.052 ms\r\n\r\n--- 127.0.0.1 ping statistics ---\r\n30 packets transmitted, 30 packets received, 0% packet loss\r\nround-trip min/avg/max = 0.041/0.060/0.147 ms\r\n",
"statuscode": 0,
"end": "2017-09-15T14:49:31.758Z",
"start": "2017-09-15T14:49:01.702Z"
},
"cleanup": {
"status": "success",
"text": "Done: removed container.\nDone: kept image with tag bagtainer:RUC4S for job RUC4S\nDone: deleted tmp payload file.",
"end": "2017-09-15T14:49:31.803Z",
"start": "2017-09-15T14:49:31.761Z"
}
},
"status": "failure",
"files": { }
}
Tasks
- give user access to
text
of a job step (somehow... the hover text might actually not be a good idea) - provide a "API access" link directly to the JSON of the job (useful for debugging, useful for platform transparency, see #94)
- show only the start date of the job, and show time periods (e.g. "7 s", "5 minutes") for the step durations, see https://momentjs.com/docs/#/durations/humanize/
- human-readable (no "_") names for the different job steps, see http://o2r.info/o2r-web-api/job/#steps-of-a-job (if you create a map or some data structure for that, I can add the names). This should be flexible, because there soon will be more job steps.
from o2r-platform.
Alright, that makes sense.
from o2r-platform.
@nuest job status text is only provided through an api call. For dynamically updating the status we are using sockets. Sockets only provide information about the status, not the status text. See example response of socket here:
{
"partial": true,
"id": "9y9D1",
"steps": {
"cleanup": {
"status": "running"
}
},
"updatedAt": "2017-10-18T09:59:36.759Z"
}
from o2r-platform.
I'm getting mixed messages here... is this fixed now or not?
I'd gladly add the status text to the socket messages, it should be there.
from o2r-platform.
@nuest At the moment we display only the logs we get from the api call, not the sockets. This is enough for displaying information of the last finished status. But it is not sufficient for adding logs to running jobs. Therefore, it would be nice if the status text could be added to the sockets.
@MarkusKonk what do you think about this? Are logs for running jobs required?
from o2r-platform.
I think they are very useful for currently running jobs, because they may include status messages the help me estimate how long the job will take. Since we don't have a formal specification on those yet (we have no idea...), we should at least allow humans to interpret the job log.
Let me know if this is urgent for you, then I'll put it on my list.
from o2r-platform.
Related Issues (20)
- Enable compare button already when check is not "running" anymore HOT 1
- Highlight main file and display file in the file listing
- Integrate Zenodo community into the UI HOT 5
- Pre-select candidates better HOT 1
- Show metadata saving error to user
- Show JSON files with indentation
- Fix and relax license section of the form HOT 3
- DataFrame and OrderedList datatype visualisation for RData
- Premature Migration to AngularJS v1.7 due to weak versioning leads to Platform failure
- Add a "inspection only" version of the platform to binder
- Display DOI of actual paper with link
- Experiment: Package platform and selected microservices as Electron app for inspecting an ERC
- Synchronise scrolling in Check Results HOT 2
- When a user creates a new compendium in with insufficient levels, the error message display is not helpful
- Make the "compare" button clickable as soon as the "check" step has finished
- Job icons are not updated when step is complete
- Show shipments on the compendium page
- Should a not logged-in user see the "Profile" of another user?
- A not-logged in user should be able to see all metadata, but not see the edit buttons
- Add PDDL as data license and support old CC licenses
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from o2r-platform.