X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/7f5a540ea4b1bad1a7b1646543e0cd48ff2af7ba..2b2c23bf8e997735dbf6c493b168ee3a3ff52be5:/apps/workbench/app/models/work_unit.rb?ds=sidebyside diff --git a/apps/workbench/app/models/work_unit.rb b/apps/workbench/app/models/work_unit.rb index 41855199c8..e10f8b7f5f 100644 --- a/apps/workbench/app/models/work_unit.rb +++ b/apps/workbench/app/models/work_unit.rb @@ -1,6 +1,5 @@ class WorkUnit - # This is just an abstract class that documents the WorkUnit interface; a - # class can implement the interface without being a subclass of WorkUnit. + # This is an abstract class that documents the WorkUnit interface def label # returns the label that was assigned when creating the work unit @@ -10,6 +9,10 @@ class WorkUnit # 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 @@ -18,10 +21,18 @@ class WorkUnit # 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 @@ -34,17 +45,21 @@ class WorkUnit # 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 def success? - # returnis true if the work unit finished successfully, + # returns true if the work unit finished successfully, # false if it has a permanent failure, # and nil if the final state is not determined. end - def progress + def progress # returns a number between 0 and 1 end @@ -88,7 +103,104 @@ class WorkUnit # returns if this is nondeterministic end - def output - # returns uuid or pdh of output data, if any + def outputs + # returns array containing uuid or pdh of output data + end + + def child_summary + # summary status of any children of this work unit + end + + def child_summary_str + # textual representation of child summary + end + + def can_cancel? + # returns true if this work unit can be canceled + end + + def confirm_cancellation + # returns true if this work unit wants to use a confirmation for cancellation + end + + def uri + # returns the uri for this work unit + end + + def title + # title for the work unit + end + + def has_unreadable_children + # accept it if you can't understand your own children + end + + # view helper methods + def walltime + # return walltime for a running or completed work unit + end + + def cputime + # return cputime for a running or completed work unit + end + + def queuedtime + # return queued time if the work unit is queued + end + + def is_running? + # is the work unit in running state? + end + + def is_paused? + # is the work unit in paused state? + end + + def is_finished? + # is the work unit in finished 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 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