我有多个Python脚本可在不同端口上创建Bokeh应用程序。
当前,我使用bokeh serve
从命令行分别启动每个服务器
理想情况下,通过运行一个Python脚本,在不同端口上运行多个Bokeh服务器的最简单方法是什么?
是否可以为每个服务器分别设置允许的客户端?
答案 0 :(得分:2)
一个bash解决方案会更简单,但是如果您确实需要Python,那么这里是:
import shlex
from multiprocessing import Process
from bokeh.command.bootstrap import main
argss = ['--port 57878 --allow-websocket-origin localhost:57878 test.py',
'--port 58989 --allow-websocket-origin localhost:58989 test.py']
processes = [Process(target=main, args=(['python', 'serve'] + shlex.split(args),)) for args in argss]
for p in processes:
p.start()
for p in processes:
p.join()
只需调整argss
列表即可满足您的需求。
请注意,bokeh.command.boostrap
不是公共API,它可能会在任何将来的版本中轻易更改。为防止损坏,可以使用subprocess
模块来启动正确的bokeh serve
命令。