projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '13106-keepclient-slot' closes #13106
[arvados.git]
/
sdk
/
python
/
arvados
/
commands
/
ws.py
diff --git
a/sdk/python/arvados/commands/ws.py
b/sdk/python/arvados/commands/ws.py
index 72ef1befed85ffd4d8b883270ebefa0a3bcd3dac..37dab55d60351b69bf97980f1dd9fa1376e4303b 100644
(file)
--- a/
sdk/python/arvados/commands/ws.py
+++ b/
sdk/python/arvados/commands/ws.py
@@
-1,5
+1,8
@@
-#!/usr/bin/env python
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+from __future__ import print_function
import sys
import logging
import argparse
import sys
import logging
import argparse
@@
-47,9
+50,10
@@
def main(arguments=None):
if "job" in components[c]:
pipeline_jobs.add(components[c]["job"]["uuid"])
if known_component_jobs != pipeline_jobs:
if "job" in components[c]:
pipeline_jobs.add(components[c]["job"]["uuid"])
if known_component_jobs != pipeline_jobs:
+ new_filters = [['object_uuid', 'in', [args.pipeline] + list(pipeline_jobs)]]
+ ws.subscribe(new_filters)
ws.unsubscribe(filters)
ws.unsubscribe(filters)
- filters = [['object_uuid', 'in', [args.pipeline] + list(pipeline_jobs)]]
- ws.subscribe([['object_uuid', 'in', [args.pipeline] + list(pipeline_jobs)]])
+ filters = new_filters
known_component_jobs = pipeline_jobs
api = arvados.api('v1')
known_component_jobs = pipeline_jobs
api = arvados.api('v1')
@@
-85,7
+89,8
@@
def main(arguments=None):
sys.stdout.write(ev["properties"]["text"])
elif ev["event_type"] in ("create", "update"):
if ev["object_kind"] == "arvados#pipelineInstance":
sys.stdout.write(ev["properties"]["text"])
elif ev["event_type"] in ("create", "update"):
if ev["object_kind"] == "arvados#pipelineInstance":
- update_subscribed_components(ev["properties"]["new_attributes"]["components"])
+ c = api.pipeline_instances().get(uuid=ev["object_uuid"]).execute()
+ update_subscribed_components(c["components"])
if ev["object_kind"] == "arvados#pipelineInstance" and args.pipeline:
if ev["properties"]["new_attributes"]["state"] in ("Complete", "Failed", "Paused"):
if ev["object_kind"] == "arvados#pipelineInstance" and args.pipeline:
if ev["properties"]["new_attributes"]["state"] in ("Complete", "Failed", "Paused"):
@@
-97,7
+102,7
@@
def main(arguments=None):
elif 'status' in ev and ev['status'] == 200:
pass
else:
elif 'status' in ev and ev['status'] == 200:
pass
else:
- print
json.dumps(ev
)
+ print
(json.dumps(ev)
)
try:
ws = subscribe(arvados.api('v1'), filters, on_message, poll_fallback=args.poll_interval, last_log_id=last_log_id)
try:
ws = subscribe(arvados.api('v1'), filters, on_message, poll_fallback=args.poll_interval, last_log_id=last_log_id)