1 | @model HeuristicLab.Clients.Hive.WebJobManager.Models.HiveTaskContainer
|
---|
2 | @using Newtonsoft.Json;
|
---|
3 |
|
---|
4 | <div class="panel panel-danger" style="border-color:#c12e2a!important; border-width:2px!important">
|
---|
5 | <div class="panel-heading"
|
---|
6 | data-toggle="collapse"
|
---|
7 | data-target="#panbody@(Model.hiveTask.Task.Id)"
|
---|
8 | onclick="redrawexp('@(Model.hiveTask.Task.Id)')"
|
---|
9 | aria-expanded="false"
|
---|
10 | aria-controls="panbody@(Model.hiveTask.Task.Id)">
|
---|
11 | <table class="table ">
|
---|
12 | <thead>
|
---|
13 | <tr>
|
---|
14 | <th>Experiment: @Model.hiveTask.ItemTask.Name</th>
|
---|
15 | <th style="font-size:large">
|
---|
16 | @if (Model.hiveTask.Task.Priority == 0)
|
---|
17 | {
|
---|
18 | <span class="label label-default"> Priority low</span>
|
---|
19 | }
|
---|
20 | else if (Model.hiveTask.Task.Priority == 1)
|
---|
21 | {
|
---|
22 | <span class="label label-info">Priority normal</span>
|
---|
23 | }
|
---|
24 | else if (Model.hiveTask.Task.Priority == 2)
|
---|
25 | {
|
---|
26 | <span class="label label-warning">Priority urgent</span>
|
---|
27 |
|
---|
28 | }
|
---|
29 | else if (Model.hiveTask.Task.Priority == 3)
|
---|
30 | {
|
---|
31 | <span class="label label-danger">Priority critical</span>
|
---|
32 |
|
---|
33 | }
|
---|
34 | </th>
|
---|
35 |
|
---|
36 | </tr>
|
---|
37 | </thead>
|
---|
38 | <tbody>
|
---|
39 | <tr>
|
---|
40 | <td id="lastupdate@(Model.hiveTask.Task.Id)">
|
---|
41 | Last update @Model.hiveTask.Task.LastTaskDataUpdate
|
---|
42 | </td>
|
---|
43 | <td id="state@(Model.hiveTask.Task.Id)">State: @Model.hiveTask.Task.State</td>
|
---|
44 |
|
---|
45 | </tr>
|
---|
46 | <tr>
|
---|
47 | <td id="exectime@(Model.hiveTask.Task.Id)">
|
---|
48 | @Model.hiveTask.Task.ExecutionTime executed
|
---|
49 | </td>
|
---|
50 | <td>Created: @Model.hiveTask.Task.DateCreated</td>
|
---|
51 | </tr>
|
---|
52 | <tr>
|
---|
53 | <td>
|
---|
54 | Child task distribution
|
---|
55 | <input type="checkbox"
|
---|
56 | disabled
|
---|
57 | @(Model.hiveTask.ItemTask.ComputeInParallel ? "checked" : "" )
|
---|
58 | data-toggle="toggle"
|
---|
59 | data-onstyle="success" />
|
---|
60 | </td>
|
---|
61 | <td>Statelogs: @Model.hiveTask.Task.StateLog.Count</td>
|
---|
62 | </tr>
|
---|
63 | </tbody>
|
---|
64 | </table>
|
---|
65 | </div>
|
---|
66 | <div class="panel-body ">
|
---|
67 | <div class="collapse" id="panbody@(Model.hiveTask.Task.Id)">
|
---|
68 | <h4>From @Model.hiveTask.Task.StateLog.First().DateTime <br />to @Model.hiveTask.Task.StateLog.Last().DateTime </h4>
|
---|
69 | <div id="graph@(Model.hiveTask.Task.Id)"></div>
|
---|
70 | </div>
|
---|
71 | </div>
|
---|
72 | @if (Model.hiveTask.ChildHiveTasks.Count > 0)
|
---|
73 | {
|
---|
74 | <div class="panel-body ">
|
---|
75 | @foreach (var task in Model.hiveTask.ChildHiveTasks)
|
---|
76 | {
|
---|
77 | @Html.Partial("SelectedJobPartials/_TaskPartial",
|
---|
78 | new HeuristicLab.Clients.Hive.WebJobManager.Models.HiveTaskContainer(task))
|
---|
79 |
|
---|
80 | }
|
---|
81 | </div>
|
---|
82 | }
|
---|
83 | <script type="text/javascript">
|
---|
84 | var temp = @Html.Raw(JsonConvert.SerializeObject(Model.hiveTask.Task.StateLog));
|
---|
85 | var xarr = [];
|
---|
86 | var yarr = [];
|
---|
87 | for(var v = 0; v < temp.length; v++){
|
---|
88 | xarr.push(temp[v].DateTime.substr(11,8));
|
---|
89 | if(temp[v].State == 1)
|
---|
90 | yarr.push("Waiting");
|
---|
91 | else if(temp[v].State == 2)
|
---|
92 | yarr.push("Transferring");
|
---|
93 | else if(temp[v].State == 3)
|
---|
94 | yarr.push("Calculating");
|
---|
95 | else if(temp[v].State == 5)
|
---|
96 | yarr.push("Finished");
|
---|
97 | else if(temp[v].State == 7)
|
---|
98 | yarr.push("Failed");
|
---|
99 | }
|
---|
100 |
|
---|
101 | var data = [{
|
---|
102 | x: xarr,
|
---|
103 | y: yarr,
|
---|
104 | type:'scatter'
|
---|
105 | }];
|
---|
106 | document.getElementById("graph@(Model.hiveTask.Task.Id)").style = "width: 90%; height: 450px;";
|
---|
107 |
|
---|
108 | Plotly.newPlot('graph@(Model.hiveTask.Task.Id)', data);
|
---|
109 |
|
---|
110 | function redrawexp(val){
|
---|
111 | setTimeout(function(){
|
---|
112 | Plotly.newPlot('graph' + val,data);
|
---|
113 | }, 100);
|
---|
114 |
|
---|
115 |
|
---|
116 | }
|
---|
117 |
|
---|
118 | </script>
|
---|
119 | </div> |
---|