def handle_request(exception_handler=nil)
      service.one { |(sym, args), control|
        exception_handling(exception_handler, control) do
          # p [sym, args]
          process_request(control, sym, args)
        end
      }
      
    # Reconnect when the connection is lost  
    rescue Cod::ConnectionLost
      @channel.close
      reconnect
      
      retry 
    end
def handle_request(exception_handler=nil)
      service.one { |(sym, args), control|
        exception_handling(exception_handler, control) do
          # p [sym, args]
          process_request(control, sym, args)
        end
      }
      
    # Reconnect when the connection is lost  
    rescue Cod::ConnectionLost
      @channel.close
      reconnect
      
      retry 
    end
Initializes a zack server. To specify which class should be the target
 of the RPC call, you must either give the :factory or the :simple
 argument.

 Note that in any case, one object instance _per call_ is created. This
 is to discourage creating stateful servers.

 @param tube_name [String] the tube to communicate with
 @option opts [Class] :simple class will be constructed for each request.
   The request will then be handed to the class.
 @option opts [#call] :factory factory for request handler instances. One
   parameter gets passed to this call, the control structure for the
   beanstalk connection.

 Handles exactly one request.
 @private