Vanilla Python client for Consul.io
Project description
This is an adaptor/plugin for Vanilla based on the python-consul library.
Usage is the same as the standard API except that all API calls return a Vanilla pipe, which can be recv’ed on to receive the Consul response.
Example
h = vanilla.Hub()
c = h.consul()
class Config(object):
pass
config = Config()
@h.spawn
def monitor():
# register our service
c.agent.service.register(
'foo', service_id='foo:1', ttl='10s').recv()
@h.spawn
def keepalive():
while True:
# ping our service's health check every 5s
c.health.check.ttl_pass('service:foo:1').recv()
h.sleep(5000)
# maintain our internal configuration state with all available nodes
# providing the foo service
index = None
while True:
index, nodes = c.health.service(
'foo', index=index, passing=True).recv()
config.nodes = [node['Service']['ID'] for node in nodes]
# make use of config.nodes
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
vanilla.consul-0.2.0.tar.gz
(2.5 kB
view hashes)