kazoo_sasl.recipe.counter¶
Zookeeper Counter
Maintainer: | None |
---|---|
Status: | Unknown |
New in version 0.7: The Counter class.
Public API¶
- class kazoo_sasl.recipe.counter.Counter(client, path, default=0)[source]¶
Kazoo Counter
A shared counter of either int or float values. Changes to the counter are done atomically. The general retry policy is used to retry operations if concurrent changes are detected.
The data is marshaled using repr(value) and converted back using type(counter.default)(value) both using an ascii encoding. As such other data types might be used for the counter value.
Counter changes can raise BadVersionError if the retry policy wasn’t able to apply a change.
Example usage:
zk = KazooClient() zk.start() counter = zk.Counter("/int") counter += 2 counter -= 1 counter.value == 1 counter.pre_value == 2 counter.post_value == 1 counter = zk.Counter("/float", default=1.0) counter += 2.0 counter.value == 3.0 counter.pre_value == 1.0 counter.post_value == 3.0