require'drb'classJobProcessorWAIT=3definitialize@jobs=[1,2,3,4,nil,5,6,7,8]@worker=Thread.start do
loop{process; sleep WAIT}end
puts @worker.status
enddefstart@worker.wakeup if@worker.status =='sleep'enddefnext_job@jobs.shift
enddefprocess
puts "processing..."while job = next_job
# do it
puts job
end
puts "no more jobs..."endendDRb.start_service("druby://:7777",JobProcessor.new)DRb.thread.join