You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If your UI enables rapid user interaction & updates, then how do you prevent the server or the clientside JS from getting overloaded?
This has come up here and there over the years and we've solved pieces of this puzzle in different ways:
When typing into a dcc.Input, users can prevent every single keypress from updating the callback by using buttons with State or on blur (tabbing or entering) with n_blur & n_submit
After you've made a little progress, please submit a PR early to let us know that you are working on this
Alternatively, this work (and the rest of our work) can be funded by directly by organizations: https://plotly.com/products/consulting-and-oem or prioritized by Dash Enterprise customers.
The text was updated successfully, but these errors were encountered:
Throttling!
If your UI enables rapid user interaction & updates, then how do you prevent the server or the clientside JS from getting overloaded?
This has come up here and there over the years and we've solved pieces of this puzzle in different ways:
dcc.Input
, users can prevent every single keypress from updating the callback by using buttons withState
or onblur
(tabbing or entering) withn_blur
&n_submit
This still laves some use cases:
State
? LikehoverData
indcc.Graph
One idea is to solve this in the framework level with:
@app.callback(Output(...), [Input(...)], throttle=500)
This would be the second keyword argument into
app.callback
. The first was introduced in 1.12.0 withprevent_initial_call=True
, see #1228If any community member is interested in exploring this idea, then see:
Alternatively, this work (and the rest of our work) can be funded by directly by organizations: https://plotly.com/products/consulting-and-oem or prioritized by Dash Enterprise customers.
The text was updated successfully, but these errors were encountered: