@@ -70,6 +70,7 @@ def callback(
7070 cancel = None ,
7171 manager = None ,
7272 cache_args_to_ignore = None ,
73+ cache_ignore_triggered = True ,
7374 on_error : Optional [Callable [[Exception ], Any ]] = None ,
7475 ** _kwargs ,
7576):
@@ -139,6 +140,9 @@ def callback(
139140 with keyword arguments (Input/State provided in a dict),
140141 this should be a list of argument names as strings. Otherwise,
141142 this should be a list of argument indices as integers.
143+ :param cache_ignore_triggered:
144+ Whether to ignore which inputs triggered the callback when creating
145+ the cache.
142146 :param interval:
143147 Time to wait between the long callback update requests.
144148 :param on_error:
@@ -185,6 +189,8 @@ def callback(
185189 if cache_args_to_ignore :
186190 long_spec ["cache_args_to_ignore" ] = cache_args_to_ignore
187191
192+ long_spec ["cache_ignore_triggered" ] = cache_ignore_triggered
193+
188194 return register_callback (
189195 callback_list ,
190196 callback_map ,
@@ -393,12 +399,16 @@ def add_context(*args, **kwargs):
393399 job_id = flask .request .args .get ("job" )
394400 old_job = flask .request .args .getlist ("oldJob" )
395401
402+ cache_ignore_triggered = long .get ("cache_ignore_triggered" , True )
403+
396404 current_key = callback_manager .build_cache_key (
397405 func ,
398406 # Inputs provided as dict is kwargs.
399407 func_args if func_args else func_kwargs ,
400408 long .get ("cache_args_to_ignore" , []),
401- callback_ctx .get ("triggered_inputs" , []),
409+ None
410+ if cache_ignore_triggered
411+ else callback_ctx .get ("triggered_inputs" , []),
402412 )
403413
404414 if old_job :
0 commit comments