bokeh.server.tornado#

提供 Bokeh Server Tornado 应用程序。

class BokehTornado(applications: Mapping[str, Application | ModifyDoc] | Application | ModifyDoc, *, absolute_url: str | None = None, prefix: str | None = None, extra_websocket_origins: Sequence[str] | None = None, extra_patterns: URLRoutes | None = None, secret_key: bytes | None = None, sign_sessions: bool = False, generate_session_ids: bool = True, keep_alive_milliseconds: int = 37000, check_unused_sessions_milliseconds: int = 17000, unused_session_lifetime_milliseconds: int = 15000, stats_log_frequency_milliseconds: int = 15000, mem_log_frequency_milliseconds: int = 0, use_index: bool = True, redirect_root: bool = True, websocket_max_message_size_bytes: int = 20971520, websocket_compression_level: int | None = None, websocket_compression_mem_level: int | None = None, ico_path: str = '/home/runner/miniconda3/envs/bk-release-build/lib/python3.10/site-packages/bokeh/server/views/bokeh.ico', index: str | None = None, auth_provider: AuthProvider = <bokeh.server.auth_provider.NullAuth object>, xsrf_cookies: bool = False, include_headers: list[str] | None = None, include_cookies: list[str] | None = None, exclude_headers: list[str] | None = None, exclude_cookies: list[str] | None = None, session_token_expiration: int = 300, **kwargs: Any)[source]#

用于实现 Bokeh 服务器的 Tornado 应用程序。

参数:
  • applications (dict[str,Application] 或 Application) –

    从路径到 Application 实例的映射。

    如果值是单个 Application,则会生成以下映射

    applications = { '/' : applications }
    

    当连接进入给定路径时,关联的 Application 用于为会话生成新文档。

  • prefix (str, 可选) – 用于所有 Bokeh 服务器路径的 URL 前缀。(默认值:None)

  • ico_path (str, 可选) – 要为 /favicon.ico 返回的 .ico 文件的路径。

  • extra_websocket_origins (list[str], 可选) –

    可以连接到 websocket 的主机列表。

    当使用 server_document() 或类似方法将 Bokeh 服务器应用程序嵌入到外部网站时,通常需要这样做。

    如果为 None,则将假定为 ["localhost"](默认值:None)

  • extra_patterns (seq[tuple], 可选) –

    (str,http 或 websocket 处理程序)元组的列表

    使用此参数向 Bokeh 服务器的自定义部署添加其他端点。

    如果为 None,则将使用 []。(默认值:None)

  • secret_key (str, 可选) –

    用于签署会话 ID 的密钥。

    默认为环境变量 BOKEH_SECRET_KEY 的当前值

  • sign_sessions (bool, 可选) –

    是否对会话 ID 进行加密签名

    默认为环境变量 BOKEH_SIGN_SESSIONS 的当前值。如果为 True,则还必须提供 secret_key(通过环境变量设置或作为参数值传递)

  • generate_session_ids (bool, 可选) – 如果未提供会话 ID,是否生成会话 ID(默认值:True)

  • keep_alive_milliseconds (int, 可选) –

    保持活动 ping 之间的时间间隔(毫秒)(默认值:37000)

    通常需要 ping 来保持 websocket 打开。设置为 0 以禁用 ping。

  • check_unused_sessions_milliseconds (int, 可选) – 检查未使用会话之间的时间间隔(毫秒)(默认值:17000)

  • unused_session_lifetime_milliseconds (int, 可选) – 未使用会话生存时间(毫秒)(默认值:15000)

  • stats_log_frequency_milliseconds (int, 可选) – 记录统计信息之间的时间间隔(毫秒)(默认值:15000)

  • mem_log_frequency_milliseconds (int, 可选) –

    记录内存信息之间的时间间隔(毫秒)(默认值:0)

    启用此功能需要安装可选依赖项 psutil

  • use_index (bool, 可选) – 是否在 RootHandler 中生成正在运行的应用程序的索引(默认值:True)

  • index (str, 可选) – 如果 use_index 为 True,则用作 “/” 索引的 Jinja2 模板的路径。如果为 None,则使用基本内置应用程序索引模板。(默认值:None)

  • redirect_root (bool, 可选) –

    当只有一个正在运行的应用程序时,是否将对 "/" 的请求自动重定向到该应用程序(默认值:True)

    如果配置了多个 Bokeh 应用程序,则此选项无效。

  • websocket_max_message_size_bytes (int, 可选) – 设置 Tornado websocket_max_message_size 值。(默认值:20971520)

  • websocket_compression_level (int, 可选) – 设置 Tornado WebSocket compression_level,文档请参阅 https://docs.pythonlang.cn/3.7/library/zlib.html#zlib.compressobj

  • websocket_compression_mem_level (int, 可选) – 设置 Tornado WebSocket 压缩 mem_level,文档请参阅 https://docs.pythonlang.cn/3.7/library/zlib.html#zlib.compressobj

  • index – 用于根 URL 的 Jinja2 模板的路径

  • auth_provider (AuthProvider, 可选) – AuthProvider 实例

  • include_headers (list, 可选) – 要包含在会话上下文中的请求标头列表(默认情况下,包含所有标头)

  • exclude_headers (list, 可选) – 要在会话上下文中排除的请求标头列表(默认情况下,包含所有标头)

  • include_cookies (list, 可选) – 要包含在会话上下文中的 Cookie 列表(默认情况下,包含所有 Cookie)

  • exclude_cookies (list, 可选) – 要在会话上下文中排除的 Cookie 列表(默认情况下,包含所有 Cookie)

  • session_token_expiration (int, 可选) – 新会话令牌对于会话创建有效的持续时间(秒)。超过到期时间后,令牌将无法创建新会话(默认值:300)

任何其他关键字参数都将传递给 tornado.web.Application

get_session(app_path: str, session_id: ID) ServerSession[source]#

按名称应用程序路径和会话 ID 获取活动会话。

参数:
  • app_path (str) – 要为其返回会话的应用程序的配置应用程序路径。

  • session_id (str) – 要检索的会话的会话 ID。

返回:

ServerSession

get_sessions(app_path: str) list[ServerSession][source]#

获取应用程序的所有当前活动会话。

参数:

app_path (str) – 要为其返回会话的应用程序的配置应用程序路径。

返回:

list[ServerSession]

initialize(io_loop: IOLoop) None[source]#

在给定的 Tornado IOLoop 上启动 Bokeh Server Tornado 应用程序。

resources(absolute_url: str | bool | None = None) Resources[source]#

提供 Resources,用于指定 Bokeh 应用程序会话应从何处加载 BokehJS 资源。

参数:

absolute_url (str, bool) – 用于查找资源的绝对 URL 前缀。如果为 True,则将使用由服务器的协议、主机和端口组成的前缀。否则,将使用根相对 URL(默认值:None

start() None[source]#

启动 Bokeh 服务器应用程序。

启动 Bokeh Server Tornado 应用程序将运行定期回调以进行统计信息记录、清理、ping 等。此外,还将运行配置的 Bokeh 应用程序定义的任何启动挂钩。

stop(wait: bool = True) None[source]#

停止 Bokeh 服务器应用程序。

参数:

wait (bool) – 是否等待有序清理(默认值:True)

返回:

None

property app_paths: set[str]#

在此 Bokeh 服务器实例上配置的所有 Bokeh 应用程序的所有应用程序路径的列表。

property applications: Mapping[str, ApplicationContext]#

配置的应用程序

property exclude_cookies: list[str] | None#

要在会话上下文中排除的请求 Cookie 列表。

property exclude_headers: list[str] | None#

要在会话上下文中排除的请求标头列表。

property generate_session_ids: bool#

此 Bokeh Server Tornado 应用程序是否已配置为自动生成会话 ID。

property icon: bytes | None#

Favicon.ico 文件数据,或 None

property include_cookies: list[str] | None#

在会话上下文中可用的请求 Cookie 列表。

property include_headers: list[str] | None#

在会话上下文中可用的请求标头列表。

property index: str | None#

用作索引 “/” 的 Jinja2 模板的路径

property io_loop: IOLoop#

此 Bokeh Server Tornado 应用程序正在其上运行的 Tornado IOLoop。

property prefix: str#

此 Bokeh Server Tornado 应用程序用于所有路径的 URL 前缀

property secret_key: bytes | None#

用于对此 Bokeh Server Tornado 应用程序的会话 ID 进行签名(如果已配置)的密钥。

property session_token_expiration: int#

新会话令牌对于创建会话有效的持续时间(秒)。

超过有效期后,令牌将无法创建新会话。

property sign_sessions: bool#

此 Bokeh Server Tornado 应用程序是否已配置为以加密方式签署会话 ID

如果为 True,则还必须配置 secret_key

property websocket_origins: set[str]#

允许连接到此服务器的 WebSocket 来源列表。