patroni.dcs.exhibitor module¶
- class patroni.dcs.exhibitor.Exhibitor(config: Dict[str, Any])¶
Bases:
patroni.dcs.zookeeper.ZooKeeper
- __init__(config: Dict[str, Any]) None ¶
Prepare DCS paths, Citus group ID, initial values for state information and processing dependencies.
- Variables
config –
dict
, reference to config section of selected DCS. i.e.:zookeeper
for zookeeper,etcd
for etcd, etc…
- _abc_impl = <_abc._abc_data object>¶
- _load_cluster(path: str, loader: Callable[[str], Union[patroni.dcs.Cluster, Dict[int, patroni.dcs.Cluster]]]) Union[patroni.dcs.Cluster, Dict[int, patroni.dcs.Cluster]] ¶
Main abstract method that implements the loading of
Cluster
instance.Note
Internally this method should call the loader method that will build
Cluster
object which represents current state and topology of the cluster in DCS. This method supposed to be called only by theget_cluster()
method.- Parameters
path – the path in DCS where to load Cluster(s) from.
loader – one of
_cluster_loader()
or_citus_cluster_loader()
.
- Raise
DCSError
in case of communication problems with DCS. If the current node was running as a primary and exception raised, instance would be demoted.
- class patroni.dcs.exhibitor.ExhibitorEnsembleProvider(hosts: List[str], port: int, uri_path: str = '/exhibitor/v1/cluster/list', poll_interval: int = 300)¶
Bases:
object
- TIMEOUT = 3.1¶