attr_accessor :my_children
attr_accessor :unreadable_children
- def initialize proxied, label
+ def initialize proxied, label, parent
@lbl = label
@proxied = proxied
+ @parent = parent
end
def label
@lbl
end
- def proxied
- @proxied
- end
-
def uuid
get(:uuid)
end
+ def parent
+ @parent
+ end
+
def modified_by_user_uuid
get(:modified_by_user_uuid)
end
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
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
Log.where(object_uuid: log_object_uuids).
order("created_at DESC").
limit(limit).
+ with_count('none').
select { |log| log.properties[:text].is_a? String }.
reverse.
flat_map { |log| log.properties[:text].split("\n") }