           message: error_msg
         }       
         SystemEvent.create_system_event!(ManagerApi.get_api, event)           
-        acknowledge(delivery_tag, request)
     end       
   end
 

          message: error_msg
        }       
        SystemEvent.create_system_event!(ManagerApi.get_api, event)         
        acknowledge(delivery_tag, request)
      what, value   -> 
        error_msg = "[Dispatcher] Message #{delivery_tag} Caught #{inspect what} with #{inspect value}"
        Logger.error(error_msg)
        request = %{request | 
          status: :error,
          response_body: %{errors: [error_msg]}

  def process_request(delivery_tag, payload) do
    request = RpcRequest.from_payload(payload)
    try do
      Logger.debug("[Dispatcher][Request][#{delivery_tag}] Processing...")
      fleet_request = FleetRequest.from_payload(request.request_body)

      request = case FleetActions.execute(fleet_request) do
        {:ok, response} ->
          Logger.debug("[Dispatcher][Request][#{delivery_tag}] Completed successfully")
          %{request | 
            status: :completed,
            response_body: response,
          }
        {:error, reason} ->
          Logger.debug("[Dispatcher][Request][#{delivery_tag}] Failed:  #{inspect reason}")
          %{request | 
            status: :error,
            response_body: %{errors: ["#{inspect reason}"]},
          }
      end
      Logger.debug("[Dispatcher][Request][#{delivery_tag}] Attempting to acknowledge...")
      acknowledge(delivery_tag, request)
      Logger.debug("[Dispatcher][Request][#{delivery_tag}] Completed processing")
    catch
      :exit, code   -> 
        error_msg = "[Dispatcher][Request][#{delivery_tag}] Exited with code #{inspect code}"
        Logger.error(error_msg)
        acknowledge(delivery_tag, request)        
        request = %{request | 
          status: :error,
          response_body: %{errors: [error_msg]}
