bokeh.application.application

提供 Application 班级。

应用程序实例是创建新Bokeh文档的工厂。

启动Bokeh服务器会话时,Bokeh服务器请求应用程序提供新文档来为会话提供服务。为此,应用程序首先创建一个新的空文档,然后将此新文档传递给 modify_document 方法。当所有处理程序都更新了文档后,它将用于为用户会话提供服务。

class Application(*handlers, **kwargs)[源代码]

应用程序是文档实例的工厂。

__init__(*handlers, **kwargs)[源代码]

应用工厂。

参数

handlers (seq[Handler]) -- 要调用的处理程序列表。URL仅取自第一个URL。

关键字参数

metadata (dict) --

任意用户提供的JSON数据可用于应用程序。

服务器将提供一个URL http://applicationurl/metadata 它返回一个JSON blob,格式为:

{
    "data": {
        "hi": "hi",
        "there": "there"
    },
    "url": "/myapp"
}

用户提供的元数据将按 "data" 把钥匙放在那块。

add(handler)[源代码]

向用于初始化新文档的管道添加处理程序。

参数

handler (Handler) -- 此应用程序用于处理文档的处理程序

create_document()[源代码]

使用应用程序的处理程序创建和初始化文档。

initialize_document(doc)[源代码]

使用应用程序的处理程序填充新文档。

on_server_loaded(server_context)[源代码]

在创建新会话时调用以执行代码。

此方法调用 on_server_loaded 在每个处理程序上,按顺序传递服务器上下文作为唯一参数。

on_server_unloaded(server_context)[源代码]

当服务器完全退出时调用以执行代码。(在停止服务器的 IOLoop

此方法调用 on_server_unloaded 在每个处理程序上,按顺序传递服务器上下文作为唯一参数。

警告

实际上,这段代码可能无法运行,因为服务器通常会被信号杀死。

async on_session_created(session_context)[源代码]

在创建新会话时调用以执行代码。

此方法调用 on_session_created 在每个处理程序上,按顺序传递会话上下文作为唯一参数。

可能返回 Future 这将延迟会话创建,直到 Future 完成。

async on_session_destroyed(session_context)[源代码]

调用以在会话被破坏时执行代码。

此方法调用 on_session_destroyed 在每个处理程序上,按顺序传递会话上下文作为唯一参数。

之后, session_context.destroyedTrue .

process_request(request)[源代码]

处理传入的HTTP请求,返回要添加到会话上下文的附加数据字典。

参数

request -- HTTP请求

返回

要包含在会话上下文中的JSON可序列化数据的字典。

property handlers

用于配置此应用程序的处理程序的有序列表。

property metadata

任意用户提供的元数据与此应用程序关联。

property safe_to_fork
property static_path

处理程序指定的任何(可选)静态资源的路径。

class ServerContext[源代码]

与Bokeh会话集合相关的服务器特定信息和任务的工具。

一般用户可能对这个基类不感兴趣。

abstract add_next_tick_callback(callback)[源代码]

添加要在事件循环的下一个滴答声时运行的回调。

子类必须实现此方法。

参数

callback (callable) -- 添加回调的回调将在事件循环的下一个滴答声中执行,并且应该具有以下形式 def callback() (即不应接受任何论点)

返回

可以与一起使用的ID remove_next_tick_callback .

abstract add_periodic_callback(callback, period_milliseconds)[源代码]

添加要定期运行的回调,直到它被删除。

子类必须实现此方法。

参数
  • callback (callable) -- 添加回调的回调将按指定在事件循环上定期执行,并且应该具有以下形式 def callback() (即不应接受任何论点)

  • period_milliseconds (int) -- 执行回调之间等待的毫秒数。

返回

可以与一起使用的ID remove_periodic_callback .

abstract add_timeout_callback(callback, timeout_milliseconds)[源代码]

添加要在超时u毫秒后运行一次的回调。

子类必须实现此方法。

参数
  • callback (callable) -- 一个用于添加回调的回调函数将在超时后在事件循环中执行一次,并且应该具有以下形式 def callback() (即不应接受任何论点)

  • timeout_milliseconds (int) -- 执行回调之前要等待的毫秒数。

返回

可以与一起使用的ID remove_timeout_callback .

abstract remove_next_tick_callback(callback_id)[源代码]

删除添加的回调 add_next_tick_callback ,在它运行之前。

子类必须实现此方法。

参数

callback_id -- 从返回的ID add_next_tick_callback

abstract remove_periodic_callback(callback_id)[源代码]

删除添加了 add_periodic_callback .

子类必须实现此方法。

参数

callback_id -- 从返回的ID add_periodic_callback

abstract remove_timeout_callback(callback_id)[源代码]

删除添加的回调 add_timeout_callback ,在它运行之前。

子类必须实现此方法。

参数

callback_id -- 从返回的ID add_timeout_callback

abstract property sessions

SessionContext 属于此应用程序的实例。

子类必须实现此方法。

class SessionContext(server_context, session_id)[源代码]

与Bokeh会话相关的服务器特定信息和任务的工具。

一般用户可能对这个基类不感兴趣。

__init__(server_context, session_id)[源代码]
abstract with_locked_document(func)[源代码]

运行一个保存文档锁的函数,将文档传递给函数。

子类必须实现此方法。

参数

func (callable) -- 函数,它接受单个参数(文档)并返回 None 或A Future

返回

Future 包含函数的结果

abstract property destroyed

如果 True ,会话已被丢弃,无法使用。

稍后可以创建具有相同ID的新会话,但此实例将无法恢复。

property id

与此上下文关联的会话的唯一ID。

property server_context

此会话上下文的服务器上下文