Example #1
0
File: os.py Project: prior/grabbag
 def lock(self, timeout=None, poll_rate=None): # poll_rate & timeout as deltas or micros
     timeout = ndelta(timeout) or self.timeout or delta(0)
     poll_rate = ndelta(poll_rate) or self.poll_rate
     start = time()
     while not self._attempt_lock():
         if poll_rate:
             poll_rate.sleep()
         if time() > start + timeout: 
             break
     return self.locked
Example #2
0
 def __init__(self, slot_dir, ascendant_depth=1, process_breadth=None):  # generally 5ms times the number of processes you gotta deal with 
     self.slot_dir = slot_dir
     self.ascendant_depth = ascendant_depth
     self.slot_takeover_timeout = ndelta(ms=(process_breadth or 20)*50)
Example #3
0
File: os.py Project: prior/grabbag
 def __init__(self, name, timeout=None, poll_rate=None): # poll_rate & timeout as deltas or micros
     super(FileLock, self).__init__()
     self.lock_dir = '%s.lock' % str(name)
     self.locked = False
     self.poll_rate = ndelta(poll_rate)
     self.timeout = ndelta(timeout)