4904: Minimal event subscribe example.
authorPeter Amstutz <peter.amstutz@curoverse.com>
Mon, 19 Jan 2015 15:01:41 +0000 (10:01 -0500)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Mon, 19 Jan 2015 15:01:41 +0000 (10:01 -0500)
doc/_config.yml
doc/_includes/_events_py.liquid [new file with mode: 0644]
doc/sdk/python/events.html.textile.liquid [new file with mode: 0644]

index 4b33036004ea27346232da174f6403d133580508..e40421f506d1c32ec03d96db73ea23c5a212de05 100644 (file)
@@ -60,6 +60,7 @@ navbar:
       - sdk/python/sdk-python.html.textile.liquid
       - sdk/python/python.html.textile.liquid
       - sdk/python/crunch-utility-libraries.html.textile.liquid
+      - sdk/python/events.html.textile.liquid
     - Perl:
       - sdk/perl/index.html.textile.liquid
     - Ruby:
diff --git a/doc/_includes/_events_py.liquid b/doc/_includes/_events_py.liquid
new file mode 100644 (file)
index 0000000..b631d94
--- /dev/null
@@ -0,0 +1,15 @@
+#!/usr/bin/env python
+
+import arvados
+import arvados.events
+import json
+
+# 'ev' is a dict containing the log table record describing the change.
+def on_message(ev):
+    # Your code here.
+    print json.dumps(ev)
+
+
+api = arvados.api('v1', cache=False)
+ws = arvados.events.subscribe(api, [], on_message)
+ws.run_forever()
diff --git a/doc/sdk/python/events.html.textile.liquid b/doc/sdk/python/events.html.textile.liquid
new file mode 100644 (file)
index 0000000..6afb9b5
--- /dev/null
@@ -0,0 +1,12 @@
+---
+layout: default
+navsection: sdk
+navmenu: Python
+title: Subscribing to events
+...
+
+Arvados applications can subscribe to a live event stream from the database.  Events are described in the "Log record schema.":{{site.baseurl}}/api/schema/Log.html
+
+<notextile>
+{% code 'events_py' as python %}
+</notextile>