本文整理汇总了Python中lock.Lock.acquireNoblock方法的典型用法代码示例。如果您正苦于以下问题:Python Lock.acquireNoblock方法的具体用法?Python Lock.acquireNoblock怎么用?Python Lock.acquireNoblock使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类lock.Lock
的用法示例。
在下文中一共展示了Lock.acquireNoblock方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _kickGC
# 需要导入模块: from lock import Lock [as 别名]
# 或者: from lock.Lock import acquireNoblock [as 别名]
def _kickGC(self):
# don't bother if an instance already running (this is just an
# optimization to reduce the overhead of forking a new process if we
# don't have to, but the process will check the lock anyways)
lockRunning = Lock(cleanup.LOCK_TYPE_RUNNING, self.uuid)
if not lockRunning.acquireNoblock():
if cleanup.should_preempt(self.session, self.uuid):
util.SMlog("Aborting currently-running coalesce of garbage VDI")
try:
if not cleanup.abort(self.uuid, soft=True):
util.SMlog("The GC has already been scheduled to " "re-start")
except util.CommandException, e:
if e.code != errno.ETIMEDOUT:
raise
util.SMlog("failed to abort the GC")
finally:
示例2: _kickGC
# 需要导入模块: from lock import Lock [as 别名]
# 或者: from lock.Lock import acquireNoblock [as 别名]
def _kickGC(self):
# don't bother if an instance already running (this is just an
# optimization to reduce the overhead of forking a new process if we
# don't have to, but the process will check the lock anyways)
lockRunning = Lock(cleanup.LOCK_TYPE_RUNNING, self.uuid)
if not lockRunning.acquireNoblock():
if cleanup.should_preempt(self.session, self.uuid):
util.SMlog("Aborting currently-running coalesce of garbage VDI")
cleanup.abort(self.uuid)
else:
util.SMlog("A GC instance already running, not kicking")
return
else:
lockRunning.release()
util.SMlog("Kicking GC")
cleanup.gc(self.session, self.uuid, True)