Merge branch '9277-trash-container-outputs' closes #9277
[arvados.git] / apps / workbench / app / models / proxy_work_unit.rb
index 48bc3a04bc95dd41915e317449e7287ed4e42bce..42304843d32d3c998235adb523819fb3ae080cdd 100644 (file)
@@ -187,9 +187,15 @@ class ProxyWorkUnit < WorkUnit
   end
 
   def cputime
-    if state_label != "Queued"
+    if children.any?
+      children.map { |c|
+        c.cputime
+      }.reduce(:+) || 0
+    else
       if started_at
-        (runtime_constraints.andand[:min_nodes] || 1) * ((finished_at || Time.now()) - started_at)
+        (runtime_constraints.andand[:min_nodes] || 1).to_i * ((finished_at || Time.now()) - started_at)
+      else
+        0
       end
     end
   end
@@ -272,20 +278,7 @@ class ProxyWorkUnit < WorkUnit
       end
       resp << " for "
 
-      cpu_time = 0
-      if children.any?
-        cpu_time = children.map { |c|
-          if c.started_at
-             (c.runtime_constraints.andand[:min_nodes] || 1) * ((c.finished_at || Time.now()) - c.started_at)
-          else
-            0
-          end
-        }.reduce(:+) || 0
-      else
-        if started_at
-          cpu_time = (runtime_constraints.andand[:min_nodes] || 1) * ((finished_at || Time.now()) - started_at)
-        end
-      end
+      cpu_time = cputime
 
       resp << ApplicationController.helpers.render_time(runningtime, false)
       if (walltime - runningtime) > 0