doc: add locking
Change-Id: I1de6356700a8fb2903b7627fd890a6a5532c256d
This commit is contained in:
parent
cdf092d7d9
commit
2d008d05a6
@ -11,3 +11,4 @@ use tooz in your application.
|
|||||||
coordinator
|
coordinator
|
||||||
group_membership
|
group_membership
|
||||||
leader_election
|
leader_election
|
||||||
|
lock
|
||||||
|
14
doc/source/tutorial/lock.rst
Normal file
14
doc/source/tutorial/lock.rst
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
======
|
||||||
|
Lock
|
||||||
|
======
|
||||||
|
|
||||||
|
Tooz provides distributed locks. A lock is identified by a name, and a lock can
|
||||||
|
only be acquired by one coordinator at a time.
|
||||||
|
|
||||||
|
.. literalinclude:: ../../../examples/lock.py
|
||||||
|
:language: python
|
||||||
|
|
||||||
|
The method :meth:`tooz.coordination.CoordinationDriver.get_lock` allows
|
||||||
|
to create a lock identified by a name. Once the you retrieve this lock, you can
|
||||||
|
use it as a context manager or use the :meth:`tooz.locking.Lock.acquire` and
|
||||||
|
:meth:`tooz.locking.Lock.release` methods to acquire and release the lock.
|
11
examples/lock.py
Normal file
11
examples/lock.py
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
from tooz import coordination
|
||||||
|
|
||||||
|
coordinator = coordination.get_coordinator('kazoo://localhost', b'host-1')
|
||||||
|
coordinator.start()
|
||||||
|
|
||||||
|
# Create a lock
|
||||||
|
lock = coordinator.get_lock("foobar")
|
||||||
|
with lock:
|
||||||
|
print("Do something that is distributed")
|
||||||
|
|
||||||
|
coordinator.stop()
|
Loading…
Reference in New Issue
Block a user