end
def state_label
+ exit_code = get_combined(:exit_code)
+ return "Failed" if (exit_code && exit_code != 0)
get_combined(:state)
end
+ def exit_code
+ get_combined(:exit_code)
+ end
+
def docker_image
get_combined(:container_image)
end
get_combined(:output_path)
end
+ def log_object_uuids
+ [get_combined(:uuid), get(:uuid)].uniq
+ end
+
+ def live_log_lines(limit=2000)
+ event_types = ["stdout", "stderr", "arv-mount", "crunch-run"]
+ log_lines = Log.where(event_type: event_types, object_uuid: log_object_uuids).order("id DESC").limit(limit)
+ log_lines.results.reverse.
+ flat_map { |log| log.properties[:text].split("\n") rescue [] }
+ end
+
+ def render_log
+ collection = Collection.find(log_collection) rescue nil
+ if collection
+ return {log: collection, partial: 'collections/show_files', locals: {object: collection, no_checkboxes: true}}
+ end
+ end
+
# End combined propeties
protected