跳到内容

通道

名称 描述
基础通道

所有通道的基类。

BaseChannel

继承:Generic[Value, Update, C], ABC

所有通道的基类。

方法

名称 描述
复制

返回通道的副本。

检查点

返回通道当前状态的可序列化表示。

从检查点创建

返回一个相同的新通道,可选择从检查点初始化。

获取

返回通道的当前值。

是否可用

如果通道可用(不为空),则返回 True,否则返回 False。

更新

使用给定的更新序列更新通道的值。

消耗

通知通道订阅的任务已运行。默认情况下,不执行任何操作。

完成

通知通道 Pregel 运行正在结束。默认情况下,不执行任何操作。

属性

名称 类型 描述
值类型 任意

通道中存储的值的类型。

更新类型 任意

通道接收的更新的类型。

值类型 abstractmethod property

ValueType: Any

通道中存储的值的类型。

更新类型 abstractmethod property

UpdateType: Any

通道接收的更新的类型。

复制

copy() -> Self

返回通道的副本。默认情况下,委托给 checkpoint() 和 from_checkpoint()。子类可以用更高效的实现覆盖此方法。

检查点

checkpoint() -> C

返回通道当前状态的可序列化表示。如果通道为空(尚未更新)或不支持检查点,则会引发 EmptyChannelError。

从检查点创建 abstractmethod

from_checkpoint(checkpoint: C) -> Self

返回一个相同的新通道,可选择从检查点初始化。如果检查点包含复杂数据结构,则应复制它们。

获取 abstractmethod

get() -> Value

返回通道的当前值。

如果通道为空(尚未更新),则会引发 EmptyChannelError。

是否可用

is_available() -> bool

如果通道可用(不为空),则返回 True,否则返回 False。子类应覆盖此方法以提供比调用 get() 并捕获 EmptyChannelError 更高效的实现。

更新 abstractmethod

update(values: Sequence[Update]) -> bool

使用给定的更新序列更新通道的值。序列中更新的顺序是任意的。Pregel 在每个步骤结束时为所有通道调用此方法。如果没有更新,则使用空序列调用。如果更新序列无效,则会引发 InvalidUpdateError。如果通道已更新,则返回 True,否则返回 False。

消耗

consume() -> bool

通知通道订阅的任务已运行。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止值被再次消耗。

如果通道已更新,则返回 True,否则返回 False。

完成

finish() -> bool

通知通道 Pregel 运行正在结束。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止完成。

如果通道已更新,则返回 True,否则返回 False。

名称 描述
主题

一个可配置的发布/订阅主题。

最新值

存储接收到的最新值,每个步骤最多可接收一个值。

临时值

存储上一步骤中接收到的值,之后清除。

二元运算符聚合

存储将二元运算符应用于当前值和每个新值的结果。

任意值

存储接收到的最新值,假定如果接收到多个值,则

主题

继承:Generic[Value], BaseChannel[Sequence[Value], Union[Value, list[Value]], list[Value]]

一个可配置的发布/订阅主题。

参数

名称 类型 描述 默认值
类型 type[Value]

通道中存储的值的类型。

必填
累积 布尔值

是否跨步骤累积值。如果为 False,通道将在每个步骤后清空。

方法

名称 描述
消耗

通知通道订阅的任务已运行。默认情况下,不执行任何操作。

完成

通知通道 Pregel 运行正在结束。默认情况下,不执行任何操作。

复制

返回通道的副本。

属性

名称 类型 描述
值类型 任意

通道中存储的值的类型。

更新类型 任意

通道接收的更新的类型。

值类型 property

ValueType: Any

通道中存储的值的类型。

更新类型 property

UpdateType: Any

通道接收的更新的类型。

消耗

consume() -> bool

通知通道订阅的任务已运行。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止值被再次消耗。

如果通道已更新,则返回 True,否则返回 False。

完成

finish() -> bool

通知通道 Pregel 运行正在结束。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止完成。

如果通道已更新,则返回 True,否则返回 False。

复制

copy() -> Self

返回通道的副本。

最新值

继承:Generic[Value], BaseChannel[Value, Value, Value]

存储接收到的最新值,每个步骤最多可接收一个值。

方法

名称 描述
消耗

通知通道订阅的任务已运行。默认情况下,不执行任何操作。

完成

通知通道 Pregel 运行正在结束。默认情况下,不执行任何操作。

复制

返回通道的副本。

属性

名称 类型 描述
值类型 type[Value]

通道中存储的值的类型。

更新类型 type[Value]

通道接收的更新的类型。

值类型 property

ValueType: type[Value]

通道中存储的值的类型。

更新类型 property

UpdateType: type[Value]

通道接收的更新的类型。

消耗

consume() -> bool

通知通道订阅的任务已运行。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止值被再次消耗。

如果通道已更新,则返回 True,否则返回 False。

完成

finish() -> bool

通知通道 Pregel 运行正在结束。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止完成。

如果通道已更新,则返回 True,否则返回 False。

复制

copy() -> Self

返回通道的副本。

临时值

继承:Generic[Value], BaseChannel[Value, Value, Value]

存储上一步骤中接收到的值,之后清除。

方法

名称 描述
消耗

通知通道订阅的任务已运行。默认情况下,不执行任何操作。

完成

通知通道 Pregel 运行正在结束。默认情况下,不执行任何操作。

复制

返回通道的副本。

属性

名称 类型 描述
值类型 type[Value]

通道中存储的值的类型。

更新类型 type[Value]

通道接收的更新的类型。

值类型 property

ValueType: type[Value]

通道中存储的值的类型。

更新类型 property

UpdateType: type[Value]

通道接收的更新的类型。

消耗

consume() -> bool

通知通道订阅的任务已运行。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止值被再次消耗。

如果通道已更新,则返回 True,否则返回 False。

完成

finish() -> bool

通知通道 Pregel 运行正在结束。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止完成。

如果通道已更新,则返回 True,否则返回 False。

复制

copy() -> Self

返回通道的副本。

二元运算符聚合

继承:Generic[Value], BaseChannel[Value, Value, Value]

存储将二元运算符应用于当前值和每个新值的结果。

import operator

total = Channels.BinaryOperatorAggregate(int, operator.add)

方法

名称 描述
消耗

通知通道订阅的任务已运行。默认情况下,不执行任何操作。

完成

通知通道 Pregel 运行正在结束。默认情况下,不执行任何操作。

复制

返回通道的副本。

属性

名称 类型 描述
值类型 type[Value]

通道中存储的值的类型。

更新类型 type[Value]

通道接收的更新的类型。

值类型 property

ValueType: type[Value]

通道中存储的值的类型。

更新类型 property

UpdateType: type[Value]

通道接收的更新的类型。

消耗

consume() -> bool

通知通道订阅的任务已运行。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止值被再次消耗。

如果通道已更新,则返回 True,否则返回 False。

完成

finish() -> bool

通知通道 Pregel 运行正在结束。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止完成。

如果通道已更新,则返回 True,否则返回 False。

复制

copy() -> Self

返回通道的副本。

任意值

继承:Generic[Value], BaseChannel[Value, Value, Value]

存储接收到的最新值,假定如果接收到多个值,则它们都相等。

方法

名称 描述
消耗

通知通道订阅的任务已运行。默认情况下,不执行任何操作。

完成

通知通道 Pregel 运行正在结束。默认情况下,不执行任何操作。

复制

返回通道的副本。

属性

名称 类型 描述
值类型 type[Value]

通道中存储的值的类型。

更新类型 type[Value]

通道接收的更新的类型。

值类型 property

ValueType: type[Value]

通道中存储的值的类型。

更新类型 property

UpdateType: type[Value]

通道接收的更新的类型。

消耗

consume() -> bool

通知通道订阅的任务已运行。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止值被再次消耗。

如果通道已更新,则返回 True,否则返回 False。

完成

finish() -> bool

通知通道 Pregel 运行正在结束。默认情况下,不执行任何操作。通道可以使用此方法修改其状态,防止完成。

如果通道已更新,则返回 True,否则返回 False。

复制

copy() -> Self

返回通道的副本。