用于在 Pregel 系统中处理通道的实用工具类。提供用于订阅通道和向通道写入的静态方法。

通道是 Pregel 图中节点之间的通信路径。它们支持图中不同部分之间的消息传递和状态更新。

构造函数

方法

构造函数

方法

  • 创建一个 PregelNode,用于订阅单个通道。这用于定义节点如何从通道接收输入。

    参数

    返回 PregelNode<any, any>

    配置为从指定通道接收数据的 PregelNode

    示例

    // Subscribe to a single channel
    const node = Channel.subscribeTo("messages");

    // Subscribe to multiple channels
    const node = Channel.subscribeTo(["messages", "state"]);

    // Subscribe with a custom key
    const node = Channel.subscribeTo("messages", { key: "chat" });

    抛出

    如果订阅多个通道时指定了键

  • 创建一个 PregelNode,用于订阅多个通道。这用于定义节点如何从通道接收输入。

    参数

    返回 PregelNode<any, any>

    配置为从指定通道接收数据的 PregelNode

    示例

    // Subscribe to a single channel
    const node = Channel.subscribeTo("messages");

    // Subscribe to multiple channels
    const node = Channel.subscribeTo(["messages", "state"]);

    // Subscribe with a custom key
    const node = Channel.subscribeTo("messages", { key: "chat" });

    抛出

    如果订阅多个通道时指定了键

  • 创建一个 ChannelWrite,用于指定如何向通道写入值。这用于定义节点如何向通道发送输出。

    参数

    • channels: string[]

      要写入的通道名称数组

    • 可选 writes: Record<string, unknown>

      通道名称到值或转换的可选映射

    返回 ChannelWrite<any>

    一个 ChannelWrite 对象,可用于写入指定的通道

    示例

    // Write to multiple channels
    const write = Channel.writeTo(["output", "state"]);

    // Write with specific values
    const write = Channel.writeTo(["output"], {
    state: "completed",
    result: calculateResult()
    });

    // Write with a transformation function
    const write = Channel.writeTo(["output"], {
    result: (x) => processResult(x)
    });