运行多个Bokeh服务器

时间:2020-02-23 13:07:18

标签: python bokeh

我有多个Python脚本可在不同端口上创建Bokeh应用程序。

当前,我使用bokeh serve从命令行分别启动每个服务器

理想情况下,通过运行一个Python脚本,在不同端口上运行多个Bokeh服务器的最简单方法是什么?

是否可以为每个服务器分别设置允许的客户端?

1 个答案:

答案 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命令。

相关问题