bokeh.application.application#
提供 Application
类。
Application 实例是用于创建新的 Bokeh 文档的工厂。
当 Bokeh 服务器会话启动时,Bokeh 服务器会向 Application 请求一个新的文档来为会话提供服务。为此,Application 首先创建一个新的空文档,然后将此新文档传递给其每个处理器的 modify_document
方法。当所有处理器都更新了文档后,该文档将用于为用户会话提供服务。
- class Application(*handlers: Handler, metadata: dict[str, Any] | None = None)[source]#
Application 是 Document 实例的工厂。
- add(handler: Handler) None [source]#
将处理器添加到用于初始化新文档的管道中。
- 参数:
handler (Handler) – 此 Application 要用来处理文档的处理器
- on_server_loaded(server_context: ServerContext) None [source]#
在创建新会话时调用,以执行代码。
此方法按顺序依次调用每个处理器的
on_server_loaded
,并将服务器上下文作为唯一参数传递。
- on_server_unloaded(server_context: ServerContext) None [source]#
在服务器干净退出时调用(在停止服务器的
IOLoop
之前)。此方法按顺序依次调用每个处理器的
on_server_unloaded
,并将服务器上下文作为唯一参数传递。警告
实际上,此代码可能不会运行,因为服务器通常会通过信号被终止。
- async on_session_created(session_context: SessionContext) None [source]#
在创建新会话时调用,以执行代码。
此方法按顺序调用每个处理程序的
on_session_created
,并将会话上下文作为唯一参数传递。可以返回一个
Future
,它将延迟会话创建,直到Future
完成。
- async on_session_destroyed(session_context: SessionContext) None [source]#
在销毁会话时调用,以执行代码。
此方法按顺序调用每个处理程序的
on_session_destroyed
,并将会话上下文作为唯一参数传递。之后,
session_context.destroyed
将为True
。
- class ServerContext[source]#
用于与 Bokeh 会话集合相关的服务器特定信息和任务的工具。
此基类可能对一般用户没有意义。
- abstract property sessions: list[ServerSession]#
属于此应用程序的
SessionContext
实例。子类必须实现此方法。
- class SessionContext(server_context: ServerContext, session_id: ID)[source]#
用于与 Bokeh 会话相关的服务器特定信息和任务的工具。
此基类可能对一般用户没有意义。
- __init__(server_context: ServerContext, session_id: ID) None [source]#
- abstract with_locked_document(func: Callable[[Document], Awaitable[None]]) Awaitable[None] [source]#
在保持文档锁定的情况下运行一个函数,并将文档传递给该函数。
子类必须实现此方法。
- 参数:
func (callable) – 一个接受单个参数(文档)并返回
None
或Future
的函数。- 返回:
一个包含函数结果的
Future
- property id: ID#
与该上下文关联的会话的唯一 ID。
- 属性 server_context: ServerContext#
此会话上下文的服务器上下文