@@ -2118,8 +2118,7 @@ def set_prereqs_and_outputs(
2118
2118
point , tdef , flow_nums ,
2119
2119
flow_wait = flow_wait , transient = True
2120
2120
)
2121
- if trans is not None :
2122
- self ._set_outputs_itask (trans , outputs )
2121
+ if trans and self ._set_outputs_itask (trans , outputs ):
2123
2122
no_op = False
2124
2123
2125
2124
if not no_op :
@@ -2189,15 +2188,18 @@ def _set_outputs_itask(
2189
2188
self ,
2190
2189
itask : 'TaskProxy' ,
2191
2190
outputs : Iterable [str ],
2192
- ) -> None :
2191
+ ) -> bool :
2193
2192
"""Set requested outputs on a task proxy and spawn children.
2194
2193
2195
2194
If no outputs were specified and the task has no required outputs to
2196
2195
set, set the "success pathway" outputs in the same way that skip mode
2197
2196
does.
2198
2197
2199
2198
Designated flows should already be merged to the task proxy.
2199
+
2200
+ Returns True if any outputs were set, else False.
2200
2201
"""
2202
+ no_op = True
2201
2203
outputs = set (outputs )
2202
2204
2203
2205
if not outputs :
@@ -2227,18 +2229,24 @@ def _set_outputs_itask(
2227
2229
LOG .info (f"output { itask .identity } :{ output } completed already" )
2228
2230
continue
2229
2231
self .task_events_mgr .process_message (
2230
- itask , logging .INFO , output , forced = True )
2232
+ itask , logging .INFO , output , forced = True
2233
+ )
2234
+ no_op = False
2231
2235
2232
2236
if not itask .state (TASK_STATUS_WAITING ):
2233
2237
# Can't be runahead limited or queued.
2234
2238
itask .state_reset (is_runahead = False , is_queued = False )
2235
2239
self .task_queue_mgr .remove_task (itask )
2236
2240
2241
+ if no_op :
2242
+ return False
2243
+
2237
2244
self .data_store_mgr .delta_task_state (itask )
2238
2245
self .data_store_mgr .delta_task_outputs (itask )
2239
2246
self .workflow_db_mgr .put_update_task_state (itask )
2240
2247
self .workflow_db_mgr .put_update_task_outputs (itask )
2241
2248
self .workflow_db_mgr .process_queued_ops ()
2249
+ return True
2242
2250
2243
2251
def _set_prereqs_itask (
2244
2252
self ,
0 commit comments