bokeh与tornado结合的三种方式

1 bokeh生成一个html文件,由tornado来不断的去执行bokeh后生成新的html文件后,再去返回新的html

我之前用过这种方式,下面的链接也是这样方式

https://stackoverflow.com/questions/24985038/display-bokeh-generated-file-using-tornado

2 bokeh作为一个tornado的一个应用端的库来使用

Embedding Bokeh Server as a Library

from bokeh.server.server import Server
server = Server(
    bokeh_applications,  # list of Bokeh applications
    io_loop=loop,        # Tornado IOLoop
    **server_kwargs      # port, num_procs, etc.
)

# start timers and services and immediately return
server.start()

3 tornado作为一个bokeh的客户端来使用

from flask import Flask, render_template

from bokeh.client import pull_session
from bokeh.embed import server_session

app = Flask(__name__)

@app.route('/', methods=['GET'])
def bkapp_page():

    with pull_session(url="http://localhost:5006/sliders") as session:

        # update or customize that session
        session.document.roots[0].children[1].title.text = "Special Sliders For A Specific User!"

        # generate a script to load the customized session
        script = server_session(session_id=session.id, url='http://localhost:5006/sliders')

        # use the script in the rendered page
        return render_template("embed.html", script=script, template="Flask")

if __name__ == '__main__':
    app.run(port=8080)

注意:

倘若生成可以交互的方式的服务端的话,最好还是用bokeh serve 这种原生的方式

与tornado结合的方式更多的是为了展示数据使用。

另外,如果是实时流数据话,也是最好用bokeh serve原生的方式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章