apoc.periodic.countdown

此过程不适用于集群环境,且运行表现可能不可预测。它会持续在启动它的数据库上执行,这意味着在集群环境中,它仅在主节点(Leader)上执行。如果发生主节点切换,该过程可能会报错并停止运行。

详细信息

语法

apoc.periodic.countdown(name, statement, delay) :: (name, delay, rate, done, cancelled)

描述

运行一个重复调用的后台语句,直到其返回 0 为止。

输入参数

名称

类型

描述

名称 (name)

STRING

任务名称。

statement

STRING

要运行的 Cypher 语句,每次运行返回一个计数值,表示剩余的迭代次数。

delay

INTEGER(整数)

每次任务执行之间等待的延迟时间(秒)。

返回参数

名称

类型

描述

名称 (name)

STRING

任务名称。

delay

INTEGER(整数)

任务的延迟时间。

rate

INTEGER(整数)

任务的速率。

done

布尔值 (BOOLEAN)

任务是否已完成。

cancelled

布尔值 (BOOLEAN)

任务是否已取消。

使用示例

本节中的示例基于以下示例图

CREATE (:Counter {value: 10000});
以下示例每秒递减一次 value,直到其变为 0
CALL apoc.periodic.countdown(
  "decrement",
  "MATCH (counter:Counter)
   SET counter.value = counter.value - 1
   RETURN counter.value as count",
  1);