Skip to content

Commit 8e73ed1

Browse files
committed
Add cache_ignore_triggered as optional param in callback
1 parent 45abf5c commit 8e73ed1

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

dash/_callback.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)