apoc.periodic.repeat
Procedure
apoc.periodic.repeat(name STRING, statement STRING, rate INTEGER, config MAP<STRING, ANY>)
- runs a repeatedly called background job.
To stop this procedure, use apoc.periodic.cancel
.
Signature
apoc.periodic.repeat(name :: STRING, statement :: STRING, rate :: INTEGER, config = {} :: MAP) :: (name :: STRING, delay :: INTEGER, rate :: INTEGER, done :: BOOLEAN, cancelled :: BOOLEAN)
Input parameters
Name | Type | Default |
---|---|---|
name |
STRING |
null |
statement |
STRING |
null |
rate |
INTEGER |
null |
config |
MAP |
{} |
Usage Examples
We can create 10 Person
nodes every second by running the following query:
CALL apoc.periodic.repeat(
"create-people",
"UNWIND range(1,10) AS id CREATE (:Person {uuid: apoc.create.uuid()})",
1
);
name | delay | rate | done | cancelled |
---|---|---|---|---|
"create-people" |
0 |
1 |
FALSE |
FALSE |
We can check how many nodes have been created by running the following query:
MATCH (:Person)
RETURN count(*) AS count;
count |
---|
110 |
If we want to cancel this job, we can use the apoc.periodic.cancel procedure.