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
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