Python 中破折号的计时器事件

A timer event for dash in Python

我正在使用 Dash 构建用于将数据发送到远程服务器的 GUI。 更新过程是异步的——因为数据可能需要时间来加载。 用户按下仪表板 GUI 上的按钮后,它会将数据保存在远程服务器上作为 CSV 文件,一旦文件被保存,它就会告诉服务器(使用 API)启动 运行上传过程。 我想使用每 5 秒触发一次的回调向用户显示上传进度。 我无法在 Dash 的网站上找到任何关于此类回调的文档。 有什么方法可以每隔 X 秒触发一次回调吗?

我在 Dash 的论坛上找到了答案。该元素称为 "interval".

这是一个每 5 秒触发一个事件的工作示例:

import dash_core_components as dcc
import dash_html_components as html
import dash

app = dash.Dash()

app.layout = html.Div([
    dcc.Interval(id='interval1', interval=5 * 1000, n_intervals=0),
    html.H1(id='label1', children='')
])


@app.callback(dash.dependencies.Output('label1', 'children'),
    [dash.dependencies.Input('interval1', 'n_intervals')])
def update_interval(n):
    return 'Intervals Passed: ' + str(n)

app.run_server(debug=False, port=8050)