def run_request(type, conn, payload)
      payload ||= {}
      payload[:agent_identity] = @agent_identity
      Sender.instance.send_request(type, payload) do |r|
        r = OperationResult.from_results(r)
        if r && r.success? && r.content.is_a?(RightScale::ExecutableBundle)
          @scheduler.schedule_bundle(:bundle => r.content)
          reply = @serializer.dump(OperationResult.success)
        else
          reply = @serializer.dump(r) rescue '\"Failed to serialize response\"'
        end
        CommandIO.instance.reply(conn, reply)
      end
      true
    end
def run_request(type, conn, payload)
      payload ||= {}
      payload[:agent_identity] = @agent_identity
      Sender.instance.send_request(type, payload) do |r|
        r = OperationResult.from_results(r)
        if r && r.success? && r.content.is_a?(RightScale::ExecutableBundle)
          @scheduler.schedule_bundle(:bundle => r.content)
          reply = @serializer.dump(OperationResult.success)
        else
          reply = @serializer.dump(r) rescue '\"Failed to serialize response\"'
        end
        CommandIO.instance.reply(conn, reply)
      end
      true
    end
Send scheduling request for recipe or RightScript
 If it returns with a bundle, schedule the bundle for execution

 === Parameters
 type(String):: Type of request
 conn(EM::Connection):: Connection used to send reply
 payload(Hash):: Request parameters

 === Return
 true:: Always return true