Neo4j 插件APOC使用 后台任务和触发器
发布于 2 个月前 作者 pangguoming 207 次浏览 来自 分享

查看后台任务

CALL apoc.periodic.list();

提交一个后台任务

CALL apoc.periodic.submit(
 "create-person",
 "CREATE (:Person {name: 'Michael Hunger'})"
);

多次执行的后台任务,每秒一次

CREATE (:Counter {value: 10000});
 


CALL apoc.periodic.countdown(
 "decrement",
 "MATCH (counter:Counter)
 SET counter.value = counter.value - 1
 RETURN counter.value as count",
 1);

触发器(4.4.5版本和5版本的不同) 数据发生变化时自动执行的cypher 需要在apoc.conf中配置如下:

apoc.trigger.enabled=true
apoc.trigger.refresh=60000

添加触发器 例子:

CREATE (:Counter {count:0})
CREATE (f:Foo);

设置触发器,任何node被删除,Counter 的count属性+1

CALL apoc.trigger.add(
 'count-removals',
 'MATCH (c:Counter)
 SET c.count = c.count + size([f IN $deletedNodes WHERE id(f) > 0])',
 {}
);

查看触发器:

CALL apoc.trigger.list();

删除触发器

CALL apoc.trigger.remove("count-removals");
回到顶部