当前我有一个间隔更新功能,例如
@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请求而没有更新而变为静态,没有更新通过数据库请求更新。但是我确信该功能正在运行,因为其中有打印件。为什么要经过大量时间才能停止。
谢谢阅读。