def initialize(name, storage=nil)
if storage.nil?
storage = name
name = nil
end
@name = name || 'worker'
if storage.respond_to?(:storage)
@storage = storage.storage
@context = storage.context
else
@storage = storage
@context = Ruote::Context.new(storage)
end
service_name = @name
service_name << '_worker' unless service_name.match(/worker$/)
@context.add_service(service_name, self)
@last_time = Time.at(0.0).utc
@state = 'running'
@run_thread = nil
@state_mutex = Mutex.new
@msgs = []
@sleep_time = @context['restless_worker'] ? nil : 0.000
@info = @context['worker_info_enabled'] == false ? nil : Info.new(self)
end