12123: Subscribe before unsubscribing to avoid losing messages.
authorTom Clegg <tclegg@veritasgenetics.com>
Thu, 17 Aug 2017 19:38:17 +0000 (15:38 -0400)
committerTom Clegg <tclegg@veritasgenetics.com>
Thu, 17 Aug 2017 19:38:17 +0000 (15:38 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg@veritasgenetics.com>

sdk/python/arvados/commands/ws.py

index 57070636bba75d4c30fbd363be6365fd1668ce8e..37dab55d60351b69bf97980f1dd9fa1376e4303b 100644 (file)
@@ -50,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:
+            new_filters = [['object_uuid', 'in', [args.pipeline] + list(pipeline_jobs)]]
+            ws.subscribe(new_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')