def __init__(self, whichq, slice=None, numslices=1, recover=False): self._whichq = whichq # Create the directory if it doesn't yet exist. Utils.makedirs(self._whichq, 0770) # Fast track for no slices self._lower = None self._upper = None # BAW: test performance and end-cases of this algorithm if numslices <> 1: self._lower = ((shamax + 1) * slice) / numslices self._upper = (((shamax + 1) * (slice + 1)) / numslices) - 1 if recover: self.recover_backup_files()
def finish(self, filebase, preserve=False): bakfile = os.path.join(self._whichq, filebase + '.bak') try: if preserve: psvfile = os.path.join(config.SHUNTQUEUE_DIR, filebase + '.psv') # Create the directory if it doesn't yet exist. Utils.makedirs(config.SHUNTQUEUE_DIR, 0770) os.rename(bakfile, psvfile) else: os.unlink(bakfile) except EnvironmentError, e: elog.exception('Failed to unlink/preserve backup file: %s', bakfile)