class Steep::Server::BaseWorker

def run

def run
  tags = Steep.logger.formatter.current_tags.dup
  thread = Thread.new do
    Steep.logger.formatter.push_tags(*tags)
    Steep.logger.tagged "background" do
      while job = queue.pop
        handle_job(job)
      end
    end
  end
  Steep.logger.tagged "frontend" do
    begin
      reader.read do |request|
        case request[:method]
        when "shutdown"
          # nop
        when "exit"
          break
        else
          handle_request(request)
        end
      end
    ensure
      queue << nil
      thread.join
    end
  end
end