X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=modules%2Flibjuju%2Fexamples%2Fallwatcher.py;fp=modules%2Flibjuju%2Fexamples%2Fallwatcher.py;h=c78d689fe9d18588791bbfb8cf15b4f8e5617aa0;hb=68858c1915122c2dbc8999a5cd3229694abf5f3a;hp=0000000000000000000000000000000000000000;hpb=032a71b2a6692b8b4e30f629a1f906d246f06736;p=osm%2FN2VC.git diff --git a/modules/libjuju/examples/allwatcher.py b/modules/libjuju/examples/allwatcher.py new file mode 100644 index 0000000..c78d689 --- /dev/null +++ b/modules/libjuju/examples/allwatcher.py @@ -0,0 +1,31 @@ +""" +This example: + +1. Connects to the current model +2. Starts an AllWatcher +3. Prints all changes received from the AllWatcher +4. Runs forever (kill with Ctrl-C) + +""" +import asyncio +import logging + +from juju.client.connection import Connection +from juju.client import client +from juju import loop + + +async def watch(): + conn = await Connection.connect_current() + allwatcher = client.AllWatcherFacade.from_connection(conn) + while True: + change = await allwatcher.Next() + for delta in change.deltas: + print(delta.deltas) + + +if __name__ == '__main__': + logging.basicConfig(level=logging.DEBUG) + # Run loop until the process is manually stopped (watch will loop + # forever). + loop.run(watch())