2

現在の状況を簡単に説明します。

app1 と app2 はダッシュ アプリで、5 秒ごとにリロードされます。そして、基本的に、すべてが正常に機能します。しかし、ブートストラップ ナビゲーション メニューの app2 ボタンをクリックして app2 タブに移動すると、以下のメッセージが表示されます。

127.0.0.1 - - [21/Jan/2018 01:17:00] "POST /app1/_dash-update-component HTTP/1.1" 200 -
127.0.0.1 - - [21/Jan/2018 01:17:00] "POST /app2/_dash-update-component HTTP/1.1" 200 -
127.0.0.1 - - [21/Jan/2018 01:17:03] "POST /app1/_dash-update-component HTTP/1.1" 200 -
127.0.0.1 - - [21/Jan/2018 01:17:03] "POST /app2/_dash-update-component HTTP/1.1" 200 -
127.0.0.1 - - [21/Jan/2018 01:17:05] "POST /app1/_dash-update-component HTTP/1.1" 200 -

問題は、app1 のメニューを既に終了しているにもかかわらず、app1 が更新され続けているように見えることです。

実際、私はここで迷っていて、もう何も頭に浮かびません。ダッシュ アプリとフラスコ アプリを組み合わせる方法を変更する必要がありますか? または、ユーザーがapp2ダッシュアプ​​リを見ている間にapp1を一時停止する素晴らしい方法はありますか?

ありがとうございました。

app_main.py

from werkzeug.wsgi import DispatcherMiddleware
from flask_bootstrap import Bootstrap

import app1
import app2

flask_app = flask.Flask(__name__)

server = DispatcherMiddleware(flask_app, {
    '/app1': app1.app_dash.server,
    '/app2': app1.app_dash.server,
})

Bootstrap(flask_app)

index.html

...
<div id="app1" class="tab-pane fade">
    <object data="/basic_chart"></object>

</div>
<div id="app2" class="tab-pane fade">
    <object data="/balance_chart"></object>

</div>
...

app1.py

...
app_dash.layout = html.Div([
    dcc.Interval(
        id='interval-component',
        interval=5e3,  # in milliseconds
        n_intervals=0
    ),

    html.Div([
        dcc.Graph(
            id='graph_stream',
        ),
    ]),
...
4

1 に答える 1