@@ -166,10 +166,6 @@ def callback(
166
166
"Progress and progress default needs to be of same length"
167
167
)
168
168
169
- if running :
170
- long_spec ["running" ] = coerce_to_list (running )
171
- validate_long_inputs (x [0 ] for x in long_spec ["running" ])
172
-
173
169
if cancel :
174
170
cancel_inputs = coerce_to_list (cancel )
175
171
validate_long_inputs (cancel_inputs )
@@ -188,6 +184,7 @@ def callback(
188
184
** _kwargs ,
189
185
long = long_spec ,
190
186
manager = manager ,
187
+ running = running ,
191
188
)
192
189
193
190
@@ -227,6 +224,7 @@ def insert_callback(
227
224
prevent_initial_call ,
228
225
long = None ,
229
226
manager = None ,
227
+ running = None ,
230
228
dynamic_creator = False ,
231
229
):
232
230
if prevent_initial_call is None :
@@ -251,6 +249,8 @@ def insert_callback(
251
249
},
252
250
"dynamic_creator" : dynamic_creator ,
253
251
}
252
+ if running :
253
+ callback_spec ["running" ] = running
254
254
255
255
callback_map [callback_id ] = {
256
256
"inputs" : callback_spec ["inputs" ],
@@ -289,6 +289,14 @@ def register_callback( # pylint: disable=R0914
289
289
290
290
long = _kwargs .get ("long" )
291
291
manager = _kwargs .get ("manager" )
292
+ running = _kwargs .get ("running" )
293
+ if running is not None :
294
+ if not isinstance (running [0 ], (list , tuple )):
295
+ running = [running ]
296
+ running = {
297
+ "running" : {str (r [0 ]): r [1 ] for r in running },
298
+ "runningOff" : {str (r [0 ]): r [2 ] for r in running },
299
+ }
292
300
allow_dynamic_callbacks = _kwargs .get ("_allow_dynamic_callbacks" )
293
301
294
302
output_indices = make_grouping_by_index (output , list (range (grouping_len (output ))))
@@ -305,6 +313,7 @@ def register_callback( # pylint: disable=R0914
305
313
long = long ,
306
314
manager = manager ,
307
315
dynamic_creator = allow_dynamic_callbacks ,
316
+ running = running ,
308
317
)
309
318
310
319
# pylint: disable=too-many-locals
@@ -389,11 +398,6 @@ def add_context(*args, **kwargs):
389
398
"job" : job ,
390
399
}
391
400
392
- running = long .get ("running" )
393
-
394
- if running :
395
- data ["running" ] = {str (r [0 ]): r [1 ] for r in running }
396
- data ["runningOff" ] = {str (r [0 ]): r [2 ] for r in running }
397
401
cancel = long .get ("cancel" )
398
402
if cancel :
399
403
data ["cancel" ] = cancel
0 commit comments