heat.engine.stack_lock 模块

class heat.engine.stack_lock.StackLock(context, stack_id, engine_id)[source]

基类: object

acquire(retry=True)[source]

获取栈的锁。

参数:

retry (布尔值) – 如果为 True,则在锁被释放时重试获取。

get_engine_id()[source]

返回当前持有锁的引擎的 ID。

如果栈上没有持有锁,则返回 None。

release()[source]

释放栈锁。

thread_lock(retry=True)[source]

获取锁,并且仅在发生异常时释放它。

释放方法仍然需要被安排在线程结束时运行,使用 Thread.link 方法。

参数:

retry (布尔值) – 如果为 True,则在锁被释放时重试获取。

try_acquire()[source]

尝试获取栈锁。

不引发 ActionInProgress 异常或尝试抢夺锁。

try_thread_lock()[source]

类似于 thread_lock,但使用 try_acquire 获取锁。

仅在成功获取锁后,在任何异常发生时释放它。