[ARVADOS] updated: 004f581375c4ab828728f64f944400723530efa7

git at public.curoverse.com git at public.curoverse.com
Thu Oct 9 15:57:18 EDT 2014


Summary of changes:
 sdk/python/arvados/commands/run.py | 13 ++++++++-----
 sdk/python/arvados/commands/ws.py  | 32 ++++++++++++++++++++++++++++++++
 sdk/python/bin/arv-ws              | 30 ++----------------------------
 3 files changed, 42 insertions(+), 33 deletions(-)
 create mode 100644 sdk/python/arvados/commands/ws.py

       via  004f581375c4ab828728f64f944400723530efa7 (commit)
      from  4dc656ce3e979ca6cf3e7900c9c96c21a63b761c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 004f581375c4ab828728f64f944400723530efa7
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date:   Thu Oct 9 15:57:11 2014 -0400

    3609: Refactor arv-ws for preparation to use with arv-run

diff --git a/sdk/python/arvados/commands/run.py b/sdk/python/arvados/commands/run.py
index 967a291..e27b3df 100644
--- a/sdk/python/arvados/commands/run.py
+++ b/sdk/python/arvados/commands/run.py
@@ -12,7 +12,7 @@ import time
 
 arvrun_parser = argparse.ArgumentParser()
 arvrun_parser.add_argument('--dry-run', action="store_true")
-arvrun_parser.add_argument('docker_image')
+arvrun_parser.add_argument('--docker-image', type=str, default="arvados/jobs")
 arvrun_parser.add_argument('command')
 arvrun_parser.add_argument('args', nargs=argparse.REMAINDER)
 
@@ -146,10 +146,13 @@ def main(arguments=None):
         pi = api.pipeline_instances().create(body=pipeline).execute()
         ws = None
         def report(x):
-            if x["event_type"] == "stderr":
-                print x["properties"]["text"]
-            elif x["event_type"] == "update" and x["properties"]["new_attributes"]["state"] in ["Complete", "Failed"]:
-                ws.close_connection()
+            if "event_type" in x:
+                print "\n"
+                print x
+                if x["event_type"] == "stderr":
+                    print x["properties"]["text"]
+                elif x["event_type"] == "update" and x["properties"]["new_attributes"]["state"] in ["Complete", "Failed"]:
+                    ws.close_connection()
 
         ws =  arvados.events.subscribe(api, [["object_uuid", "=", pi["uuid"]], ["event_type", "in", ["stderr", "update"]]], report)
         ws.run_forever()
diff --git a/sdk/python/arvados/commands/ws.py b/sdk/python/arvados/commands/ws.py
new file mode 100644
index 0000000..48fe9ae
--- /dev/null
+++ b/sdk/python/arvados/commands/ws.py
@@ -0,0 +1,32 @@
+#!/usr/bin/env python
+
+import sys
+import logging
+import argparse
+import arvados
+import json
+from arvados.events import subscribe
+
+def main(arguments=None):
+    logger = logging.getLogger('arvados.arv-ws')
+
+    parser = argparse.ArgumentParser()
+    parser.add_argument('-u', '--uuid', type=str, default="")
+    args = parser.parse_args(arguments)
+
+    filters = []
+    if len(args.uuid)>0: filters = [ ['object_uuid', '=', args.uuid] ]
+
+    api = arvados.api('v1', cache=False)
+
+    def on_message(ev):
+      print json.dumps(ev)
+
+    ws = None
+    try:
+      ws = subscribe(api, filters, lambda ev: on_message(ev))
+      ws.run_forever()
+    except Exception:
+      logger.exception('')
+      if (ws):
+        ws.close_connection()
diff --git a/sdk/python/bin/arv-ws b/sdk/python/bin/arv-ws
index ce7f066..4e663ce 100755
--- a/sdk/python/bin/arv-ws
+++ b/sdk/python/bin/arv-ws
@@ -1,30 +1,4 @@
 #!/usr/bin/env python
 
-import sys
-import logging
-import argparse
-import arvados
-from arvados.events import subscribe
-
-logger = logging.getLogger('arvados.arv-ws')
-
-parser = argparse.ArgumentParser()
-parser.add_argument('-u', '--uuid', type=str, default="")
-args = parser.parse_args()
-
-filters = []
-if len(args.uuid)>0: filters = [ ['object_uuid', '=', args.uuid] ]
-
-api = arvados.api('v1', cache=False)
-
-def on_message(ev):
-  print "\n", ev
-
-ws = None
-try:
-  ws = subscribe(api, filters, lambda ev: on_message(ev))
-  ws.run_forever()
-except Exception:
-  logger.exception('')
-  if (ws):
-    ws.close_connection()
+from arvados.commands.ws import main
+main()

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list