lib/qwirk/manager.rb
def start_timer_thread
      @timer_thread = Thread.new do
        begin
          while !@stopped
            @worker_configs.each do |worker_config|
              worker_config.periodic_call(@poll_time)
            end
            sleep @poll_time
          end
        rescue Exception => e
          Qwirk.logger.error "Timer thread failed with exception: #{e.message}\n\t#{e.backtrace.join("\n\t")}"
        end
      end
    end
def start_timer_thread
      @timer_thread = Thread.new do
        begin
          while !@stopped
            @worker_configs.each do |worker_config|
              worker_config.periodic_call(@poll_time)
            end
            sleep @poll_time
          end
        rescue Exception => e
          Qwirk.logger.error "Timer thread failed with exception: #{e.message}\n\t#{e.backtrace.join("\n\t")}"
        end
      end
    end
Constructs a manager.  Accepts a hash of config options
   name         - name which this bean will be added
   env          - environment being executed under.  For a rails project, this will be the value of Rails.env
   worker_file  - the worker file is a hash with the environment or hostname as the primary key and a subhash with the worker names
     as the keys and the config options for the value.  In this file, the env will be searched first and if that doesn't exist,
     the hostname will then be searched.  Workers can be defined for development without having to specify the hostname.  For
     production, a set of workers could be defined under production or specific workers for each host name.
   persist_file - WorkerConfig attributes that are modified externally (via Rumx interface) will be stored in this file.  Without this
     option, external config changes that are made will be lost when the Manager is restarted.
 Create a timer_thread to make periodic calls to the worker_configs in order to do such things as expand/contract
 workers, etc.