class ScbiMapreduce::WorkManagerData
Attributes
data[RW]
job_identifier[R]
received_time[RW]
sent_time[RW]
status[RW]
worker_end_time[RW]
worker_identifier[RW]
worker_start_time[RW]
working_time[RW]
Public Class Methods
job_id()
click to toggle source
# File lib/scbi_mapreduce/work_manager.rb, line 131 def self.job_id # puts "Setting job_id to #{c}" @@job_id end
job_id=(c)
click to toggle source
# File lib/scbi_mapreduce/work_manager.rb, line 126 def self.job_id=(c) # puts "Setting job_id to #{c}" @@job_id=c end
new(objs)
click to toggle source
# File lib/scbi_mapreduce/work_manager.rb, line 32 def initialize(objs) @worker_identifier=0 @job_identifier=@@job_id @@job_id+=1 @data=objs @received_time=nil @sent_time=0 @processing_time=nil @worker_start_time=0 @worker_end_time=0 @worker_time=0 sent! end
Public Instance Methods
end_worker_time!()
click to toggle source
# File lib/scbi_mapreduce/work_manager.rb, line 85 def end_worker_time! @worker_end_time=Time.now_us @worker_time= (@worker_end_time - @worker_start_time) end
inspect()
click to toggle source
# File lib/scbi_mapreduce/work_manager.rb, line 117 def inspect time="; time: #{processing_time} usecs" return "WorkManagerData: #{@job_identifier} => #{@status} #{time}" end
print_worker_time()
click to toggle source
# File lib/scbi_mapreduce/work_manager.rb, line 122 def print_worker_time return "WorkManagerData Times: #{@worker_start_time} => #{@worker_end_time} #{worker_time}" end
processing_time()
click to toggle source
return running or real processing time
# File lib/scbi_mapreduce/work_manager.rb, line 105 def processing_time return (@processing_time || (Time.now_us-@sent_time)) end
received!(objs)
click to toggle source
# File lib/scbi_mapreduce/work_manager.rb, line 70 def received!(objs) @received_time=Time.now_us @processing_time=@received_time-@sent_time @worker_time=@worker_end_time-@worker_start_time # save longer processing time @@longest_processing_time=[@@longest_processing_time,@processing_time].max @data=objs @status=:received end
sent!()
click to toggle source
# File lib/scbi_mapreduce/work_manager.rb, line 95 def sent! @status=:running @sent_time=Time.now_us end
start_worker_time!()
click to toggle source
# File lib/scbi_mapreduce/work_manager.rb, line 91 def start_worker_time! @worker_start_time=Time.now_us end
stuck?()
click to toggle source
# File lib/scbi_mapreduce/work_manager.rb, line 100 def stuck? (@status==:running) && (@@longest_processing_time>0) && (processing_time>(@@longest_processing_time*PROCESSING_TIMEOUT_MULTIPLIER)) end
transmission_time()
click to toggle source
# File lib/scbi_mapreduce/work_manager.rb, line 113 def transmission_time return (processing_time - worker_time) end
update_with_received!(job)
click to toggle source
# File lib/scbi_mapreduce/work_manager.rb, line 49 def update_with_received!(job) @received_time=job.received_time @sent_time=job.sent_time @worker_end_time=job.worker_end_time @worker_start_time=job.worker_start_time @processing_time=@received_time-@sent_time @worker_time=@worker_end_time-@worker_start_time # save longer processing time @@longest_processing_time=[@@longest_processing_time,@processing_time].max @data=job.data # if job.worker_identifier==0 # puts print_worker_time # end @status=:received end
worker_time()
click to toggle source
# File lib/scbi_mapreduce/work_manager.rb, line 109 def worker_time return (@worker_time) end