#!/usr/bin/env ruby

require "bundler/setup"
require "kryten"
require "pry"

include Kryten

class WorkList
  include BackgroundTask
end

class Work
  include BackgroundTask
  def run
    work = rand(5)+1;
    log "working for #{work}"
    sleep work
    log "done working"
  end
end

work = WorkList.new('visor').workers do
  [ Work.new('work1'),
    Work.new('work2'),
    Work.new('work3').workers do
    [ Work.new('work3sub1'),
      Work.new('work3sub2') ]
    end ]
end

work.start