bokeh.server.tornado#

提供 Bokeh 服务器 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 (字典[字符串,Application] 或 Application) –

    从路径到 Application 实例的映射。

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

    applications = { '/' : applications }
    

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

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

  • ico_path (字符串, 可选) – 返回 /favicon.ico 的 .ico 文件的路径。

  • extra_websocket_origins (列表[字符串], 可选) –

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

    这通常是在使用 server_document() 或类似方法将 Bokeh 服务器应用程序嵌入到外部网站时所必需的。

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

  • extra_patterns (序列[元组], 可选) –

    一个包含 (字符串, http 或 websocket 处理程序) 元组的列表。

    使用此参数可在 Bokeh Server 的自定义部署中添加额外的端点。

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

  • secret_key (str, optional) –

    用于签署会话 ID 的密钥。

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

  • sign_sessions (bool, optional) –

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

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

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

  • keep_alive_milliseconds (int, optional) –

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

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

  • check_unused_sessions_milliseconds (int, optional) – 检查未使用的会话之间的毫秒数(默认值:17000)。

  • unused_session_lifetime_milliseconds (int, optional) – 未使用的会话生命周期毫秒数(默认值:15000)。

  • stats_log_frequency_milliseconds (int, optional) – 记录统计信息之间的毫秒数(默认值:15000)。

  • mem_log_frequency_milliseconds (int, optional) –

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

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

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

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

  • redirect_root (bool, optional) –

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

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

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

  • websocket_compression_level (int, optional) – 设置 Tornado WebSocket compression_level,如 https://docs.pythonlang.cn/3.7/library/zlib.html#zlib.compressobj 中所述。

  • websocket_compression_mem_level (int, optional) – 设置 Tornado WebSocket 压缩 mem_level,如 https://docs.pythonlang.cn/3.7/library/zlib.html#zlib.compressobj 中所述。

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

  • auth_provider (AuthProvider, optional) – 一个 AuthProvider 实例。

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

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

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

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

  • session_token_expiration (int, optional) – 新会话令牌对于会话创建有效的秒数。在过期时间过去后,该令牌将无法创建新会话(默认值: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 服务器 Tornado 应用程序将运行用于统计日志记录、清理、ping 等的周期性回调。此外,将运行配置的 Bokeh 应用程序定义的任何启动挂钩。

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

停止 Bokeh 服务器应用程序。

参数:

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

返回值:

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 服务器 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 服务器 Tornado 应用程序正在运行的 Tornado IOLoop。

property prefix: str#

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

property secret_key: bytes | None#

如果已配置,此 Bokeh 服务器 Tornado 应用程序在签名会话 ID 时使用的密钥。

property session_token_expiration: int#

新会话令牌在会话创建中有效的持续时间(以秒为单位)。

过期时间过后,令牌将无法创建新会话。

property sign_sessions: bool#

此 Bokeh 服务器 Tornado 应用程序是否已配置为对会话 ID 进行加密签名

如果 True,则也必须配置 secret_key

property websocket_origins: set[str]#

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