code: def execute(self, sql, param=(), times=1):
          
          self.log and self.log.debug('%s %s' % ('SQL:', sql))
          if param is not ():
              self.log and self.log.debug('%s %s' % ('PARAMs:', param))
          for i in xrange(times):
              try:
                  ret, res = self._execute(sql, param)
                  return ret, res
              except Exception, e:
                  self.log and self.log.warn("The %s time execute, fail" % i)
                  self.log and self.log.warn(e)
              if i: sleep(i**1.5)
          self.log and self.log.error(e)
          return None, e
docs: This function is the most use one, with the paramter times
          it will try x times to execute the sql, default is 1.