1 class JobWorkUnit < ProxyWorkUnit
4 uuid = (self.proxied.uuid if self.proxied.respond_to?(:uuid)) || self.proxied[:uuid]
5 tasks = JobTask.filter([['job_uuid', '=', uuid]]).results
8 items << t.work_unit("task #{items.size}")
11 # Jobs submitted by this job -- TBD
17 state = (self.proxied.state if self.proxied.respond_to?(:state)) || self.proxied[:state]
18 if state == 'Complete'
22 tasks_summary = (self.proxied.tasks_summary if self.proxied.respond_to?(:tasks_summary)) || self.proxied[:tasks_summary]
23 failed = tasks_summary[:failed] || 0 rescue 0
24 done = tasks_summary[:done] || 0 rescue 0
25 running = tasks_summary[:running] || 0 rescue 0
26 todo = tasks_summary[:todo] || 0 rescue 0
27 if done + running + failed + todo > 0
28 total_tasks = done + running + failed + todo
29 (done+failed).to_f / total_tasks
36 (self.proxied.docker_image_locator if self.proxied.respond_to?(:docker_image_locator)) || self.proxied[:docker_image_locator]
40 (self.proxied.nondeterministic if self.proxied.respond_to?(:nondeterministic)) || self.proxied[:nondeterministic]
44 (self.proxied.priority if self.proxied.respond_to?(:priority)) || self.proxied[:priority]
48 (self.proxied.log if self.proxied.respond_to?(:log)) || self.proxied[:log]
52 (self.proxied.output if self.proxied.respond_to?(:output)) || self.proxied[:output]
56 uuid = (self.proxied.uuid if self.proxied.respond_to?(:uuid)) || self.proxied[:uuid]
61 (self.proxied.tasks_summary if self.proxied.respond_to?(:tasks_summary)) || self.proxied[:tasks_summary]