我想使用JavaScript繪圖庫來繪製我在Python控制檯(IPython)使用Numpy計算的數據。發送控制檯數據燒瓶應用程序顯示在客戶端
我在想一個設計來完成這個。我認爲應該是這個樣子:
這意味着我用的燒瓶中的應用盡快發送服務器端事件到客戶端的數據是在IPython的過程中做好準備。
1)這是正確的做法嗎?
2)如何將數據從控制檯發送到我的Flask應用程序?我想我需要用gevent來運行Flask App,這樣我才能聽到來自其他Python進程的命令?
3)如何將使用服務器端事件的數據發送到客戶端?我發現了一些服務器端事件的例子,但我不明白他們如何發送任意數據。示例:
import gevent
import gevent.monkey
from gevent.pywsgi import WSGIServer
gevent.monkey.patch_all()
from flask import Flask, request, Response, render_template
app = Flask(__name__)
def event_stream():
count = 0
while True:
gevent.sleep(2)
yield 'data: %s\n\n' % count
count += 1
@app.route('/my_event_source')
def sse_request():
return Response(
event_stream(),
mimetype='text/event-stream')
@app.route('/')
def page():
return render_template('sse.html')
if __name__ == '__main__':
http_server = WSGIServer(('127.0.0.1', 8001), app)
http_server.serve_forever()
本示例使用預定義的event_stream()函數。我正在尋找一種方法將數據從服務器端事件的python控制檯發送到客戶端。
也許還有另一種更好的方法?
你也可能想看看[文森特](https://vincent.readthedocs.org/en/latest/),其是專爲使用JS可視化Python數據而設計的。 –