使用datatable更新进行浏览器更新时出现问题

2024-06-28 18:55:56 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

在此范围内,我通过触发器调用已设置的数据库,即经过一段时间后,它将调用数据库。我在这里使用全局变量来做这件事,所以我知道这是有问题的破折号。例如:

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请求而变为静态,没有更新,也没有通过数据库拉动进行更新。但是,我确信该函数正在运行,因为其中包含打印。为什么它会在很长一段时间后停止

谢谢你阅读这篇文章


Tags: live数据库sqlbaseget间隔updatehi