I'm trying to schedule some task using ruby threads

This work great:

t = Thread.new do
  while true do
    puts "Starting new job at #{Time.now}"
    do_something
    sleep 3
  end
end
t.join

But when the task take a long, like:

def do_something
  puts "doing something at#{Time.now}"
  sleep(rand(3))
end

I cant get the "Starting new job" message appears in regular intervals
of 3 seconds. What I'm missing?

Thanks
-- 
Posted via http://www.ruby-forum.com/.