Esempio n. 1
0
  def execute_query(self, query, commit = False):
    if self.params.db.verbose:
      from time import time
      st = time()
      self.query_count += 1

    retry_count = 0
    retry_max = 10
    sleep_time = 0.1
    while retry_count < retry_max:
      try:
        dbobj = get_db_connection(self.params)
        cursor = dbobj.cursor()
        cursor.execute(query)
        if commit:
          dbobj.commit()

        if self.params.db.verbose:
          print 'Query % 6d SQLTime Taken = % 10.6f seconds' % (self.query_count, time() - st), query[:min(len(query),145)]
        return cursor
      except OperationalError, e:
        if "Can't connect to MySQL server" not in str(e):
          raise e
        retry_count += 1
        print "Couldn't connect to MYSQL, retry", retry_count
        time.sleep(sleep_time)
        sleep_time *= 2
      except Exception, e:
        print "Couldn't execute MYSQL query.  Query:"
        print query
        print "Exception:"
        print str(e)
        raise e
Esempio n. 2
0
  def execute_query(self, query, commit = False):
    if self.params.db.verbose:
      from time import time
      st = time()
      self.query_count += 1

    retry_count = 0
    retry_max = 10
    sleep_time = 0.1
    while retry_count < retry_max:
      try:
        dbobj = get_db_connection(self.params)
        cursor = dbobj.cursor()
        cursor.execute(query)
        if commit:
          dbobj.commit()

        if self.params.db.verbose:
          et = time() - st
          if et > 1:
            print 'Query % 6d SQLTime Taken = % 10.6f seconds' % (self.query_count, et), query[:min(len(query),145)]
        return cursor
      except OperationalError, e:
        if "Can't connect to MySQL server" not in str(e):
          raise e
        retry_count += 1
        print "Couldn't connect to MYSQL, retry", retry_count
        time.sleep(sleep_time)
        sleep_time *= 2
      except Exception, e:
        print "Couldn't execute MYSQL query.  Query:"
        print query
        print "Exception:"
        print str(e)
        raise e
Esempio n. 3
0
    def execute_query(self, query, commit=False):
        if self.params.db.verbose:
            from time import time
            st = time()
            self.query_count += 1

        retry_count = 0
        retry_max = 10
        sleep_time = 0.1
        while retry_count < retry_max:
            try:
                if self.dbobj is None or not commit:
                    self.dbobj = dbobj = get_db_connection(self.params)
                else:
                    dbobj = self.dbobj
                dbobj = get_db_connection(self.params)
                cursor = dbobj.cursor()
                cursor.execute(query)
                if commit:
                    dbobj.commit()

                if self.params.db.verbose:
                    et = time() - st
                    if et > 1:
                        print(
                            'Query % 6d SQLTime Taken = % 10.6f seconds' %
                            (self.query_count, et),
                            query[:min(len(query), 145)])
                return cursor
            except OperationalError as e:
                if "Can't connect to MySQL server" not in str(e):
                    print(query)
                    raise e
                retry_count += 1
                print("Couldn't connect to MYSQL, retry", retry_count)
                time.sleep(sleep_time)
                sleep_time *= 2
            except Exception as e:
                print("Couldn't execute MYSQL query.  Query:")
                print(query)
                print("Exception:")
                print(str(e))
                raise e
        raise Sorry(
            "Couldn't execute MYSQL query. Too many reconnects. Query: %s" %
            query)
Esempio n. 4
0
  def __init__(self, params, drop_tables = False, verify_tables = False, **kwargs):
    super(xfel_db_application, self).__init__(params, **kwargs)
    dbobj = get_db_connection(params)
    init_tables = initialize(params, dbobj)

    if drop_tables:
      init_tables.drop_tables()

    if verify_tables and not init_tables.verify_tables():
      init_tables.create_tables()
      print('Creating experiment tables...')
      if not init_tables.verify_tables():
        raise Sorry("Couldn't create experiment tables")

    self.columns_dict = init_tables.set_up_columns_dict(self)
Esempio n. 5
0
  def __init__(self, params, drop_tables = False, verify_tables = False):
    self.params = params
    self.query_count = 0
    dbobj = get_db_connection(params)
    self.init_tables = initialize(params, dbobj) # only place where a connection is held

    if drop_tables:
      self.drop_tables()

    if verify_tables and not self.verify_tables():
      self.create_tables()
      print 'Creating experiment tables...'
      if not self.verify_tables():
        raise Sorry("Couldn't create experiment tables")

    self.columns_dict = self.init_tables.set_up_columns_dict(self)
Esempio n. 6
0
  def __init__(self, params, drop_tables = False, verify_tables = False):
    super(xfel_db_application, self).__init__(params)
    self.query_count = 0
    dbobj = get_db_connection(params)
    self.init_tables = initialize(params, dbobj) # only place where a connection is held

    if drop_tables:
      self.drop_tables()

    if verify_tables and not self.verify_tables():
      self.create_tables()
      print('Creating experiment tables...')
      if not self.verify_tables():
        raise Sorry("Couldn't create experiment tables")

    self.columns_dict = self.init_tables.set_up_columns_dict(self)
Esempio n. 7
0
 def __getattr__(self, prop):
     if prop == "dbobj":
         return get_db_connection(self.params)
     raise AttributeError("%s not found" % prop)
Esempio n. 8
0
 def __getattr__(self, prop):
   if prop == "dbobj":
     return get_db_connection(self.params)
   raise AttributeError("%s not found"%prop)