自定义 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",
}
},
});