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)[源代码]#

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

Parameters:
  • 应用程序 (dict[str,Application] 或 Application) –

    从路径到 Application 实例的映射。

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

    applications = { '/' : applications }
    

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

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

  • ico_path (str, optional) – 用于返回 /favicon.ico 的 .ico 文件的路径。

  • extra_websocket_origins (list[str], optional) –

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

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

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

  • extra_patterns (seq[tuple], optional) –

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

    使用此参数可以向 Bokeh 服务器的自定义部署添加额外的端点。

    如果为 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) –

    保持连接的心跳间隔时间(单位:毫秒) (默认值:37000)

    通常需要心跳来保持websocket连接。设置为0以 禁用心跳。

  • 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.python.org/3.7/library/zlib.html#zlib.compressobj

  • websocket_compression_mem_level (int, optional) – 设置Tornado WebSocket压缩的mem_level,文档见 https://docs.python.org/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获取活动会话。

Parameters:
  • app_path (str) – 配置的应用程序路径,用于返回应用程序的会话。

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

Returns:

服务器会话

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

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

Parameters:

app_path (str) – 配置的应用程序路径,用于返回会话的应用程序。

Returns:

列表[ServerSession]

initialize(io_loop: IOLoop) None[source]#

在给定的Tornado IOLoop上启动一个Bokeh服务器Tornado应用程序。

resources(absolute_url: str | bool | None = None) 资源[源代码]#

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

Parameters:

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

start() None[source]#

启动Bokeh服务器应用程序。

启动Bokeh服务器Tornado应用程序将运行定期的回调函数,用于统计日志记录、清理、ping等操作。此外,配置的Bokeh应用程序定义的任何启动钩子也将被运行。

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

停止Bokeh服务器应用程序。

Parameters:

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

Returns:

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服务器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 Server Tornado应用程序是否已配置为对会话ID进行加密签名

如果 True,则必须也已配置 secret_key

property websocket_origins: set[str]#

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