自定义 CDC 订阅

这是 GraphQL 库版本 6 的文档。对于长期支持 (LTS) 版本 5,请参阅 GraphQL 库版本 5 LTS

GraphQL 订阅到 Neo4j 使用 [更改数据捕获](https://neo4j.ac.cn/docs/cdc/current/) (CDC)。可以通过传递 Neo4jGraphQLSubscriptionsCDCEngine 的实例来配置其行为。

Neo4jGraphQLSubscriptionsCDCEngine

默认情况下,GraphQL 库使用传递给 Neo4jGraphQL 的相同驱动程序每秒轮询一次事件。可以通过创建 Neo4jGraphQLSubscriptionsCDCEngine 的自定义实例来更改此行为。

以下选项可以传递给构造函数

  • driver:用于 CDC 查询的驱动程序。

  • pollTime:CDC 查询之间的时间间隔(以毫秒为单位)。默认为 1000 毫秒。请注意,轮询时间是完成请求与下一个请求开始之间的时间段。CDC 事件触发订阅所需的时间还取决于您的网络。

  • queryConfig:一个包含要传递给 CDC 请求的驱动程序查询选项的对象。使用 db 字段定义 CDC 的目标数据库。

例如

import { Neo4jGraphQL, Neo4jGraphQLSubscriptionsCDCEngine } from '@neo4j/graphql';

const engine = new Neo4jGraphQLSubscriptionsCDCEngine({
    driver,
    pollTime: 5000
})

const neoSchema = new Neo4jGraphQL({
    typeDefs,
    driver,
    features: {
        subscriptions: engine,
        queryConfig: {
             database: "neo4j",
        }
    },
});