浏览器使用数据表更新进行更新的问题

时间:2019-11-29 17:56:31

标签: python pandas dataframe plotly-dash hyphen

当前我有一个间隔更新功能,例如

@app.callback([Output(‘table’, ‘data’),
Output(‘table’, ‘columns’)],
[Input(‘interval-component’, ‘n_intervals’)])
def update_graph_live(n):

在此期间,我正在调用通过触发器设置的数据库,即经过一段时间后,它将调用该数据库。我在这里使用全局变量来执行此操作,因此我知道这对Dash有问题。示例:

def update_graph_live(n):
   print(‘Updating Prices…’)
    global then
    global trigger
    global balance
    global loans

    if trigger is True:
        print('Updating Database.....')
        hi.update_response()
        hi.return_prices()
        balance = balance_sql()
        loans = loans_sql()
        df = dataframe_manip(balance, loans, hi.get_base_price('XBT'),hi.get_base_price('BCH'),hi.get_base_price('ETH'),hi.get_base_price('ETHDEC'), hi.get_base_price('FLEX'),hi.get_base_price('BCHDEC'),hi.get_base_price('XBTDEC'), usdtoct_price)
        trigger = False
        now = datetime.utcnow()
        then = now+timedelta(minutes = 1.5)
    if datetime.utcnow() > then:
        trigger = True

balance_sql()调用数据库并返回一个数据帧。

在Update_graph_live中,我也在发出GET请求以获取其他信息,每次间隔发生时都会发生这种情况。

此函数结束时,我返回:

return new_frame.to_dict('rows'), columns_3

然后更新DashTable。

问题是,这将在浏览器中成功更新我的DashTable 30至2个小时,然后它突然停止更新,并且由于我发出的GET请求而没有更新而变为静态,没有更新通过数据库请求更新。但是我确信该功能正在运行,因为其中有打印件。为什么要经过大量时间才能停止。

谢谢阅读。

0 个答案:

没有答案