Installation¶
$ pip install aiozk
Getting Started¶
Here’s a python code for creating a znode and then getting data from the znode.
import aiozk
import asyncio
async def main():
zk = aiozk.ZKClient('server1:2181,server2:2181,server3:2181')
await zk.start()
await zk.ensure_path('/greeting/to')
await zk.create('/greeting/to/world', 'hello world')
data = await zk.get_data('/greeting/to/world')
print(data)
# b'hello world' is printed
await zk.delete('/greeting/to/world')
await zk.close()
asyncio.run(main())
Making use of recipes¶
Recipe objects can be created via .recipes attribute. Supported recipes are as follows: DataWatcher
, ChildrenWatcher
, Lock
, SharedLock
, Lease
, Barrier
, DoubleBarrier
, LeaderElection
, Party
, Counter
, TreeCache
, Allocator
import aiozk
import asyncio
async def main():
zk = aiozk.ZKClient('localhost:2181')
await zk.start()
lock = zk.recipes.Lock('/path/to/lock')
async with await lock.acquire():
print('do some critical stuff')
await zk.close()
asyncio.run(main())
Authors¶
aiozk
is written mostly by Kirill Pinchuk, Junyeong Jeong and several
contributors.