服务器上的Python Dash回调超时

时间:2019-11-22 16:04:58

标签: python amazon-web-services plotly-dash

我已经使用python破折号(v1.6.1)编写了一个应用程序。我已使用Amazon Linux 2深度学习AMI将其部署到EC2。此应用程序需要几分钟才能根据用户输入运行优化问题。大约1分钟后,应用程序产生错误,提示“更新 name_of_div.children 的回调错误”。

这里有一个小代码示例可以重现该错误。

import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import State, Input, Output
from dash.exceptions import PreventUpdate
import time

app = dash.Dash(
    __name__, meta_tags=[{"name": "viewport", "content": "width=device-width"}]
)
server = app.server

app.layout = html.Div([
    html.Button(
        "Run",
        id="button1",
    ),
    dcc.Slider(
        id="slider1",
        min=0,
        max=10,
        step=1,
        value=0,
    ),
    dcc.Loading(
        id="Loading1",
        children=[
            html.Div(id="out1", children=[html.P("Nothing yet")]),
        ],
        type="default"
    )
])

@app.callback(Output('out1', 'children'),
              [Input('button1', 'n_clicks')],
              [State('slider1', 'value')])
def update_page(n_clicks, value):
    if n_clicks is None:
        raise PreventUpdate
    else:
        time.sleep(65)
        out_string = "The output is " + str(value)
        return html.P(out_string)

if __name__ == '__main__':
    app.run_server(debug=True, host='0.0.0.0', port=8050)

是否存在引起问题的配置?可能与网络相关吗?我找不到包含解决方案的类似帖子。我的问题听起来与this unsolved one类似。

谢谢!

0 个答案:

没有答案