bokeh.application.application#
提供 Application
类。
Application 实例是用于创建新的 Bokeh 文档的工厂。
当 Bokeh 服务器会话启动时,Bokeh 服务器会向 Application 请求一个新的 Document 来服务该会话。为此,Application 首先创建一个新的空 Document,然后将这个新的 Document 传递给其每个处理程序的 modify_document
方法。当所有处理程序都更新了 Document 后,它将用于服务用户会话。
- class Application(*handlers: Handler, metadata: dict[str, Any] | None = None)[source]#
Application 是 Document 实例的工厂。
- add(handler: Handler) None [source]#
向用于初始化新文档的管道添加处理程序。
- 参数:
handler (Handler) – 此 Application 用于处理 Document 的处理程序
- 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) – 接受单个参数(Document)并返回
None
或Future
的函数- 返回值:
包含函数结果的
Future
- property id: ID#
与此上下文关联的会话的唯一 ID。
- property server_context: ServerContext#
此会话上下文的服务器上下文