+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
class WorkUnit
# This is an abstract class that documents the WorkUnit interface
# returns the arvados UUID of the underlying object
end
+ def parent
+ # returns the parent uuid of this work unit
+ end
+
def children
# returns an array of child work units
end
# returns uuid of the user who modified this work unit most recently
end
+ def owner_uuid
+ # returns uuid of the owner of this work unit
+ end
+
def created_at
# returns created_at timestamp
end
+ def modified_at
+ # returns modified_at timestamp
+ end
+
def started_at
# returns started_at timestamp for this work unit
end
# returns a string representing state of the work unit
end
+ def exit_code
+ # returns the work unit's execution exit code
+ end
+
def state_bootstrap_class
# returns a class like "danger", "success", or "warning" that a view can use directly to make a display class
end
# returns if this is nondeterministic
end
- def output
- # returns uuid or pdh of output data, if any
- end
-
def outputs
- # returns array containing uuid or pdh of output data of all children
- # if no children, return output data if any
+ # returns array containing uuid or pdh of output data
end
def child_summary
# returns true if this work unit can be canceled
end
- def readable?
- # is the proxied object readable by current user?
+ def confirm_cancellation
+ # returns true if this work unit wants to use a confirmation for cancellation
end
def uri
end
# view helper methods
- def link_to_log
- # display a link to log if present
- end
-
def walltime
# return walltime for a running or completed work unit
end
# return queued time if the work unit is queued
end
- def show_child_summary
- # child summary for a running work unit
- end
-
def is_running?
# is the work unit in running state?
end
def is_failed?
# is this work unit in failed state?
end
+
+ def command
+ # command to execute
+ end
+
+ def cwd
+ # initial workind directory
+ end
+
+ def environment
+ # environment variables
+ end
+
+ def mounts
+ # mounts
+ end
+
+ def output_path
+ # path to a directory or file to save output
+ end
+
+ def container_uuid
+ # container_uuid of a container_request
+ end
+
+ def requesting_container_uuid
+ # requesting_container_uuid of a container_request
+ end
+
+ def log_object_uuids
+ # object uuids for live log
+ end
+
+ def live_log_lines(limit)
+ # fetch log entries from logs table for @proxied
+ end
+
+ def render_log
+ # return partial and locals to be rendered
+ end
+
+ def template_uuid
+ # return the uuid of this work unit's template, if one exists
+ end
end