#!/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