[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