Frasco + Bokeh AjaxDataSource

Luchando con Flask + Bokeh AjaxDataSource:

Tengo una función que devuelve datos json:

@app.route("/data", methods=['POST'])
def get_x():
    global x, y
    x = x + 0.1
    y = math.sin(x)
    return flask.jsonify(x=[x], y=[y])

Puedo usarlo con un Bokeh AjaxDataSource sin problema para crear un diagrama de transmisión:

source = AjaxDataSource(data_url="http://localhost:5000/data", polling_interval=1000, mode='append')
p = figure()
p.line('x', 'y', source=source)                                                                       
show(p)

Sin embargo, cuando intento incrustar esto en una página de matraz, AjaxDataSource no consulta el servidor. La trama no se procesa sin errores. Tenga en cuenta que si uso un gráfico estático en lugar de un AjaxDataSource, se traza bien. Aquí está el código relevante:

template = Template('''<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Streaming Example</title>
        {{ js_resources }}
        {{ css_resources }}
    </head>
    <body>
    {{ plot_div }}
    {{ plot_script }}
    </body>
</html>
''')

@app.route("/")
def simple():
    streaming=True
    source = AjaxDataSource(data_url="http://localhost:5000/data", 
                            polling_interval=1000, mode='append')

    fig = figure(title="Streaming Example")
    fig.line( 'x', 'y', source=source)

    js_resources = INLINE.render_js()
    css_resources = INLINE.render_css()

    script, div = components(fig, INLINE)

    html = template.render(
        plot_script=script,
        plot_div=div,
        js_resources=js_resources,
        css_resources=css_resources
    )

    return encode_utf8(html) 

Si alguien tiene alguna idea, estaría agradecido.

Brian

Respuestas a la pregunta(2)

Su respuesta a la pregunta