lib/noda/job_worker.rb in noda-0.0.8 vs lib/noda/job_worker.rb in noda-0.0.9
- old
+ new
@@ -9,10 +9,11 @@
@max_retry_connect = 30
@wait_time_to_retry = 2
require "socket"
@local_addr = IPSocket::getaddress(Socket::gethostname)
self.connect
+ self
end
def connect_job_server
error_conter = 0
begin
@job =DRbObject.new_with_uri(@server_uri)
@@ -26,13 +27,17 @@
end
end
def handle_task()
# @logger.info("self.class@#{@local_addr}#{self.object_id}"){"i try to pop a task."}
task = @job.input.pop
- # @logger.info("self.class@#{@local_addr}#{self.object_id}"){"i got a task-#{task.name}"}
- # @logger.info("self.class@#{@local_addr}#{self.object_id}"){"i start handling a task-#{task.name}"}
+ self.load_class if task.class == DRb::DRbUnknown
result = task.do_task(@job.hash_table)
@job.output.push result
+ end
+ def load_class
+ @job.task_class_source_list.each{|k,v|
+ eval(v)
+ }
end
def init_thread
@table = @job.hash_table
@thread= Thread.new{
loop{