def retry(self): """ Called by the application server whenever a transaction commit fails. @return: None @raise porcupine.exceptions.DBTransactionIncomplete: if the maximum number of transaction retries has been reached, as defined in the C{porcupine.ini} file. """ while self._retries < _db.db_handle.trans_max_retries: _db.abortTransaction(self.txn) self._retries += 1 time.sleep(0.05) self.txn = _db.createTransaction() try: tmpActions, self.actions = copy.copy(self.actions), [] dummy = [func(*args) for func,args in tmpActions] return except exceptions.DBTransactionIncomplete: pass else: raise exceptions.DBTransactionIncomplete
def _retry(self): self.txn = _db.createTransaction()
def __init__(self): self.txn = _db.createTransaction() self._iscommited = False
def __init__(self): self.actions = [] self.txn = _db.createTransaction() self._iscommited = False self._retries = 0
def __init__(self): self.txn = _db.createTransaction()