lib/drbqs/queue.rb in drbqs-0.0.10 vs lib/drbqs/queue.rb in drbqs-0.0.11
- old
+ new
@@ -70,32 +70,31 @@
@logger.error("Node #{ary[0]} is calculating task #{task_id}, too.") if @logger
end
end
private :delete_task_id
- def exec_task_hook(task_id, result)
+ def exec_task_hook(main_server, task_id, result)
if task = @cache.delete(task_id)
if hook = task.hook
@history.set(task_id, :hook)
- hook.call(self, result)
+ hook.call(main_server, result)
end
else
@logger.error("Task #{task_id} is not cached.") if @logger
end
end
- private :exec_task_hook
- def get_result
+ def get_result(main_server)
count = 0
begin
loop do
get_accept_signal
sym, task_id, node_id, result = @result.take([:result, Fixnum, Fixnum, nil], 0)
count += 1
@history.set(task_id, :result, node_id)
@logger.info("Get: result of #{task_id} from node #{node_id}.") if @logger
delete_task_id(node_id, task_id)
- exec_task_hook(task_id, result)
+ exec_task_hook(main_server, task_id, result)
end
rescue Rinda::RequestExpiredError
@logger.debug("Get: #{count} results.") if @logger
end
count